我试图用来getchar()读取输入数字的所有数字并将它们存储在一个数组中.但每次我运行程序时,第二个数字都会出错.
这是我的代码:
int ch = 0;
int digits[0];
int i = 0;
while ((ch = getchar()) != '\n') {
digits[i] = ch - '0';
i++;
}
Run Code Online (Sandbox Code Playgroud)
为了表明会出现什么问题,我插入了两个printf:
while ((ch = getchar()) != '\n') {
printf("%d ", ch);
digits[i] = ch - '0';
printf("%d\n", ch);
i++;
}
Run Code Online (Sandbox Code Playgroud)
例如,当我输入时1100,我得到:
49 49
49 1
48 48
48 48
当我在一个单独的循环中打印数组时,输出是:
1 10 0 0
当我输入时66666,我得到:
54 54
54 6
54 54
54 54
54 5
阵列是: …