C语言中for语句后面为什么要加分号?

如题所述

C语言中分号作为语句结束的标志是比不可少的,for语句后面的代码从整体上分析,此时每一条语句必定带分号,缺乏分号将导致语法错误。而如果for语句后面的代码构成代码体,则不需要再代码体结束时加上分号。

for语句有两种用法,一种是跟单语句,一种是跟代码体。

1、单语句循环

以上5个for循环均实现了5条语句的5次循环。由于for循环均使用单语句循环,循环直接相互独立,没有嵌套结构。

但对于后3个循环,使用了逗号表达式作为一条语句,C语言的语句是必须以分号结束的且此处仅使用逗号表达式构成语句,并没有构成代码体,故此处仍需要使用分号。

2、代码体循环

代码体循环实现了多条语句循环,代码体可以是单语句、多语句和循环结构等。代码体循环结构将多条语句看成一个整体进行循环,每一条语句均需要分号进行结尾。

而代码体以花括号作为边界,并不是语句,故此处不需要再使用分号。

综上for语句后根据循环结构内容选择是否添加分号。如果为语句,必须以分号结尾;如果是由完整语句构成的代码体,则必须使用花括号,此时可以不添加分号结尾。

扩展资料

需要注意的是,由于C语言的语句均以分号结尾且C语言存在空语句,故使用for语句时需要避免再完成for(;;)的结构后直接使用分号再编写循环代码的情况(如下图所示)——此时的循环结构为空语句。

因此使用C语言需要养成良好的编程习惯,合理使用代码体并规划程序结构以提高开发效率。

温馨提示:答案为网友推荐,仅供参考
相似回答