質問: 10000 * q[0] + 1000 * q[1] + 100 * q[2] + 10 * q[3] + q[4]; return x; } int main(void) { int num; printf("正の整数を入力:"); scanf("%d", &num); printf("%dを逆から読むと%d", num, inverse(num)); return 0; } ### 試したこと 自作関数部にprintfをしてみたりmain関数の%d部分を変えてみたりしました ### 補足情報(言語/FW/ツール等のバージョンなど) C言語 戻り値なしの場合はうまくできたのですが、戻り値なし、仮引数を受け取らない場合エラーが出てきてしまいます 上のプログラム自体綺麗ではないとは思いますがどうかこの方法でどこが間違っているのか返答お願いします
回答: ``` int p, q[4]; ``` qの配列を、q[4]と宣言していますので q[0]~q[3]までとなります。 ``` for (p = 0; p<5; p++) { q[p] = a % 10; // <= p=4 の場合 q[4] a /= 10; } ``` で宣言以上のエリアへ値を代入しているため、 「Debug Error!」が出ていると思われます。