我试图在 for 循环中增加变量 x 并在每次迭代时打印它。
include <stdio.h>
int x = 0;
void main()
{
int c;
for (c = 1; c <= 5; c++)
x++;
printf("%d", x);
}
我想要的输出是:
12345
但是此代码仅打印:
5
当我不增加 x 时,我可以在每次迭代时打印:
# include <stdio.h>
int x = 0;
void main()
{
int c;
for (c = 1; c <= 5; c++)
//x++;
printf("%d", x);
}
输出:
00000
为什么在循环中增加 x 会改变 printf 的行为?
最佳答案
问题是,您在这里缺少一个 block 作用域。
声明
for (c = 1; c <= 5; c++)
x++;
printf("%d", x);
与
相同for (c = 1; c <= 5; c++)
{
x++;
}
printf("%d", x);
因此,您的 print 语句不是循环的一部分。
另一方面,当您注释 x++;
语句时,printf()
语句被视为循环体。
您需要使用大括号强制执行 block ,例如
for (c = 1; c <= 5; c++)
{
x++;
printf("%d", x);
}
关于c - 在同一个 for 循环中递增和打印变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53960962/