【发布时间】:2013-05-14 08:33:07
【问题描述】:
以下代码
int i=0;
while(i<10) {
printf("%d\n", i++);
}
等价于
int i=0;
while(i<10) {
printf("%d\n", i); i++;
}
但是下面的代码
int i=0;
while(i<10) {
printf("%d\n", i+=2);
}
等价于
int i=0;
while(i<10) {
i+=2; printf("%d\n", i);
}
如何使其等价于
int i=0;
while(i<10) {
printf("%d\n", i); i+=2;
}
同i++
【问题讨论】:
-
出于好奇,到底为什么你需要这样的东西吗?
-
@C.Lang:你测试过吗?!
-
@TonyTheLion:我认为 OP 想要的恰恰相反。
-
您回答了自己的问题:使用两个语句(当然,在两个单独的行上)。为什么用简单的方法搜索混淆的解决方案非常有效。
-
@MOHAMED:与序列点无关。相反,您不能在右值的内置类型上使用增量。
标签: c