>>140
全然駄目。

これコンパイルする以前にどう考えても不味いよな

printf(number[(y - 1) * 2]);// * 2 しているのは全角文字は2バイトだから

  2345678
  345678
  45678
  5678
  678
  78
  8


たまたまShift-JISだから全角文字=2バイトで済んでるが、シフトイン・シフトアウトのあるJISやEUC、
あとUTF-8なんかじゃ通用しない。

面倒でも文字列ごとに配列にしたほうがいい。

たぶんこれが一番スマート
char *number[] = { "1", "2", "3", "4", "5", "6", "7", "8" };