我创建了最简单的程序,但它仅显示循环的最后一次迭代。我以前从来没有遇到过这个问题,所以也许这就是为什么我看不到有什么问题的原因。任何帮助将不胜感激
int main() {
int number = 0;
for (int i = 0; i < 2; i++)
{
printf("enter number: ");
scanf("%d", &number);
}
printf("Displaying entered information:\n");
for (int i = 0; i < 2; i++)
{
printf("number: %d\n", number);
}
}
答案 0 :(得分:4)
只需在同一范围内输入和显示...
int main() {
int number = 0;
for (int i = 0; i < 2; i++)
{
printf("enter number: ");
scanf("%d", &number);
printf("Displaying entered information:\n");
printf("number: %d\n", number);
}
}
答案 1 :(得分:1)
您正在执行以下操作:
阅读电话号码。
覆盖该号码。
显示最后一个数字(该值已被覆盖)。
这确实使您想到仅执行最后一个循环,但实际并非如此。
您可以将所有内容放到同一循环中,然后您会看到一切都会很好:
int number = 0;
for (int i = 0; i < 2; i++)
{
printf("enter number: ");
scanf("%d", &number);
printf("Displaying entered information:\n");
printf("number: %d\n", number);
}
答案 2 :(得分:0)
如果您希望将其作为一个数组并具有define和一些更改,则可以使其动态化:
#define INPUT_SIZE 2
int main() {
int number[INPUT_SIZE];
for (int i = 0; i < INPUT_SIZE; i++)
{
printf("enter number: ");
scanf("%d", &number[i]);
}
printf("Displaying entered information:\n");
for (int i = 0; i < INPUT_SIZE; i++)
{
printf("number: %d\n", number[i]);
}
}