if后面的大括号加分号会出错吗?

来源:百度知道 编辑:UC知道 时间:2024/07/03 05:19:18
c语言中如if(){ };
昨天考上机,把分号加上了,但是程序通过了,不知道能过吗?

1、if后面的大括号加分号是不会出错的。
2、示例:
if()
{};;;/*这里加多少分号都不会报错*/
由于c语言是无格式语言,它相当于
if()
{}
;
;
;
这里的多个分号 代表多个空语句,空语句在这虽然没什么用处,但是c编译器允许,所以不会报错。
3、空语句的概念:
只有分号“;”组成的语句称为空语句。空语句是什么也不执行的语句。在程序中空语句可用来作空循环体。
例如:while(getchar()!='\n'); 本语句的功能是,只要从键盘输入的字符不是回车则重新输入。这里的循环体为空语句。

这个地方不应该加分号了,但是加多少分号都不会错,因为在C语言里面,;;表示两个空语句,是正确语法,而且不影响程序的正确运行。

会错,因为花括号本身就代表一个语句块。。里面语句块都已经以分号结束了。。所以外面不用加分号。

不会出错的

if(){ };
这么写的话,;实际上和if语句没有关系,
编译器将;看作一个空语句来执行,没有任何效果,
不影响编译,也不影响程序的运行结果

可以,不过这样就表示if语句是一个单独的句子,
有时候这样子是必要的
如if(i=1;i<4;i++);
执行后i的值就是4