【发布时间】:2010-09-03 18:12:48
【问题描述】:
我编写了以下代码,但它不起作用。编译器给出了一个错误,即缺少 ) 和表达式语法错误。运营商的流程是怎样的?从左到右还是从右到左?
#include <stdio.h>
#include <limits.h>
#include <math.h>
int main()
{
int i, x = 256, y, flag;
for (i = 0, flag = 0, y = 1; y<INT_MAX; if (flag) break, if (flag) printf("YES"), if(y == x) flag = 1, i++, y = pow(2,i));
return 0;
}
【问题讨论】:
-
Eww。可恶的。惭愧。
-
@fahad:你显然没有阅读我链接的问题和答案。
-
@fahad:如果您不将其包装在函数中,则对该链接的最高投票答案在一行中有效。 “行”也不是 c 代码的基本单元:只需省略换行符,预处理器指令之间的所有内容都适合“一行”。
-
@james,提供的链接是一个很好的解决方案,并不是说我有机会阅读和理解它。很好的发现:)