gpt4 book ai didi

c - 在这个程序中,语句 "i is 1"应该在我输入值 2 之前而不是之后打印。?

转载 作者:太空宇宙 更新时间:2023-11-03 23:51:56 24 4
gpt4 key购买 nike

我写了一个简单的c代码如下

#include<stdio.h>
void main()
{
int a[3];
int i;
for(i=0;i<=2;i++)
{
printf("i is %d\n",i);
scanf("%d ",&a[i]);
}
for(i=0;i<=2;i++)
printf("a[%d] is %d\n",i,a[i]);

}

问题是当我运行程序时我必须输入两个值,当我是 0(不是一个)时这样

i is 0
1
2
i is 1
3
i is 2
4

即使输出是正确的,即

a[0] is 1
a[1] is 2
a[2] is 3

为什么我必须输入 4 个值而不是 3 个值,为什么在输入 2 之前没有出现语句 i is 1?

最佳答案

改变:

scanf("%d ",&a[i]);

到:

scanf("%d",&a[i]);

多余的空间是所有问题的根源,因为它正在吃掉空格。

关于c - 在这个程序中,语句 "i is 1"应该在我输入值 2 之前而不是之后打印。?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18151301/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com