【发布时间】:2017-06-19 02:40:15
【问题描述】:
我有一种感觉,我在这里会感到非常愚蠢,但我只是在学习使用 ++ 和 -- 来增加和减少 while 循环的变量,并且想知道为什么这段代码有效并且为什么没有?
错误代码:
int ctr = 0;
while (ctr < 10)
printf("%d",ctr);
ctr=ctr+1;
错误代码无限期地输出零。
工作代码:
int ctr=0;
while (ctr++ < 10)
printf("%d",ctr);
这个想法是输出为 012345678910,但即使在工作代码中,它也是从 1 开始到 10,而不是从 0 开始。即使 ctr 的初始值为 0。
【问题讨论】:
-
C 不关心你的空格和手动缩进。你需要一些
{}。 -
C 不是 Python。缩进在 C 中无关紧要——至少对编译器来说不重要,但试图阅读代码的人会关心它。
-
只是补充一下@JonathanLeffler 所说的,编译器无论如何都会读取和翻译你的代码,只是人类会放弃你的代码。
-
您的错误代码缺少花括号:int ctr = 0; while (ctr
标签: c while-loop post-increment postfix-operator