没有从C中的数组获取正确的输出元素

代码x.42

我正在尝试编写一个代码,每次将一个数字输入到数组中,然后打印出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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章