C语言中的每条执行语句都需要用分号结束吗??

如题所述

在 C 程序中,分号是语句结束符。每个语句必须以分号结束。它表明一个逻辑实体的结束。

C语言中分号被用作为语句结束的标志,如果在C程序中不小心多写了一个分号,那么该分号也许会被视作一个空语句;或者编译器会因为这个多余的分号而产生一条警告信息,根据警告信息的提示往往会很容易找到多余的分号。

如:

If (x>b);

b=x;

多余的分号会被解释为空语句,实际产生的效果是:

If(x>b){}

b=x;

也就是说当x>b时,执行空语句,在任何情况下会执行b=x。

如果在C程序中漏写了一个分号,就表示当前语句并没有结束,同样会差错。如:

If(n<3)

return

log.date=x[0];

log.time=x[1];

log.code=x[2];

因为return 后漏写了一个分号,表示该语句还没有结束,实际效果相当于:

If(n<3)

return log.date=x[0];

log.time=x[1];

log.code=x[2];

扩展资料

1、C 语言中的语句块中是可以包含语句块的,语句块中的语句块被当。作一个简单的语句来处理。

2、若要写一个包含几个表达式语句和空语句的语句块,就可以用下面的形式:这是一个语句块的例子,其中包含四个已经了解的语句,依次为赋值表达式语句、空语句、除法运算表达式语句和按位取反表达式语句。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-14

C语言规定,语句都需要加分号表示该语句的结束。


对于不加分号的语句,C语言在编译的时候会报错。如:

int a=1  // 编译时会报错,正确写法为int a=1;
a = 3+4  // 编译时会报错,正确写法为a = 3+4;

但是在宏定义的时候,不需要加分号。如:

#define PI 3.14   // 加了分号,反而会报错

第2个回答  2013-07-30
是的 除了以#开头的宏定义。