当前位置:  开发笔记 > 编程语言 > 正文

这段C代码是否可以编译?

如何解决《这段C代码是否可以编译?》经验,为你挑选了1个好方法。

我的C编程老师声称这是C中while循环的正确声明.

int main(int argc, char *argv[])
{
    while()
    {
        fork();
    }
}

据他说,它与写作完全相同:

int main(int argc, char *argv[])
{
    while(1)
    {
        fork();
    }
}

'while()'代码是否可以在任何C标准中编译?



1> P.P...:

好吧,你的老师错了.

whileloop期望表达式作为条件.所以你不能把它留空.

这与for循环略有不同,其中条件可以为空:

for(;;) { 

}

C标准定义了§6.8.5,1迭代语句中的语法

而(表达)陈述

做声明而(表达);

for(expressionopt; expressionopt; expressionopt)语句

for(declaration; expressionopt; expressionopt)语句

正如你所看到的,表达可选的while循环.但它是for循环的可选项.


你是否认为他应该用他现在的老师换一个更好的老师,比如你可以把一本糟糕的教科书换成更好的教科书?
推荐阅读
谢谢巷议
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有