int main()
{
int i;
float number[6];
for (i=0; i<=2; i++) {
printf("write number %i\n", i+1);
scanf("%i",&number[i]);
}
printf ("the first number you wrote: %i", number[1]);
return 0;
}
我无法理解如何在索引变量中打印出第一个数字。答案始终为0
,如果我输入number[1]
或number[5]
,则输出始终为0
答案 0 :(得分:1)
当我打印出第一个数字时,我不知道写什么,答案总是为0。
但是从这个声明可以清楚地看出你没有打印输入的第一个号码
printf ("the first number you wrote: %i", number[1]);
由于number[1]
是指您输入的第二个数字,请尝试使用number[0]
代替number[1]
printf ("the first number you wrote: %i", number[0]);
除上述内容外,还有一个问题。您在float
和scanf()
语句<{1}} <{1}}中使用了错误的格式说明符 < / p>
在扫描或打印printf
时使用%f
,float
用于%i
通常使用错误的格式说明符导致未定义的行为,请看一下: What can happen if printf is called with a wrong format string?
此外,请尝试避免使用int
和printf()
,并使用其他人指出的scanf()
和std::cout
。