我无意中注意到下面的代码片段是在GCC下编译的:
void myFunction(void) { int i, y = 0; for (i = 0; i < 10; i++) y++; while (y); }
我以前从未遇到过这样的代码,在四处搜索之后也找不到关于这样一个构造的任何信息。这让我想知道这样一个构造的目的是什么,它意味着做什么?
q8l4jmvw1#
没有for ... while循环这种东西。你看到的是两个独立的回路。首先,有一个for循环,循环体中唯一的指令是y++;。然后你会看到另一个循环:while(y) ;。这与for循环完全无关。主体仅由空指令;组成。由于y在主体中从不改变,因此这将是无限循环。
for ... while
for
y++;
while(y) ;
;
y
1条答案
按热度按时间q8l4jmvw1#
没有
for ... while
循环这种东西。你看到的是两个独立的回路。
首先,有一个
for
循环,循环体中唯一的指令是y++;
。然后你会看到另一个循环:
while(y) ;
。这与for
循环完全无关。主体仅由空指令;
组成。由于y
在主体中从不改变,因此这将是无限循环。