【发布时间】:2013-07-30 17:27:52
【问题描述】:
我在 C 中有以下代码源:
#include<stdio.h>
void main()
{
int i=0, x=3;
while((x---1))
{
i++;
}
printf("%d", i);
}
这个 while 语句是如何工作的,为什么它打印 2 而不是 1?
【问题讨论】:
-
我还是更喜欢
-->运算符:while(x-->0) {...} -
@nneonneo 建议“x 归零”:) 数学家和 IOCCC 提交作者一定会喜欢这一点。
-
我自己在玩具测试代码中使用过它,因为它比键入等效的 for 循环要容易得多。但是,如果我尝试真实提交它,维护人员可能会杀了我:)
-
我无法想象你为什么会期望它打印 1。你应该解释你的想法。
标签: c while-loop decrement