我正在尝试编写一个代码,每次将一个数字输入到数组中,然后打印出arrays元素的结果,但是由于某种原因,我要么遇到一个无限循环,要么打印出相同的数字。
void main() {
char arr[SIZE];
int k = 1;
int i = 0;
while (k != 0) {
scanf("%d", &k);
arr[i] = k;
i++;
}
arr[i] = '\0';
int b = 0;
while (b < i) {
printf("elements are %d\n", arr[i]);
b++;
}
您要打印arr[b]
而不是 arr[i]
。
因此,您想要: printf("elements are %d\n", arr[b]);
当您(当前)拥有它时,打印arr[i]
将始终打印相同的元素,并且它是UB,因为在那一点i
上,它超出arr
数组末尾,因此该值将是未知的/不确定的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句