1、加上大括号相当于一个语句块,if条件只影响其后面的第一个语句或语句块,加括号的话,则执行括号中的全部语句(也就是在if条件成立的情况下,则全部执行,如果if条件不成立,则整个括号中的语句都不执行);而不加括号的话,则影响其后的第一条语句,也就是说不管if条件成不成立,第一句以后的都不会有任何影响。if 语句后有大括号, 则大括号里面所有的语句都会在if表达式为真时执行;如果没大括号,则if表达式为真时只会执行第一条语句.
2、例如:
#include
int main()
{
if (true)
{
printf("11111111111\n"); // 这两条都会打印
printf("11111111111\n");
}
if (false)
printf("11111111111\n"); // 只有这一条不会打印
printf("22222222222\n"); // 以下两条都会打印
printf("22222222222\n");
return 0;
}
如果没有花括号,则是简单语句,有则是复合语句。
if(x<100) y=-1;
和if(x<100) {y=-1;}是等效的,如果有两条以上的,则是复合语句,用{},如if(x<100) {y=-1; x=0;}
如果不用{}, 则x=0;是无条件执行的,这时再else就会错误。
如果if后面的语句只有一条的话,可以省去花括号;
如果有多条,则花括号不能省去。
花括号表示一个代码块
if只能控制一个代码块或一条语句,当只需要控制一条语句时,可以忽略不写代码块,不过为了可读性建议if语句不论是否只控制一条语句统一加上花括号
if条件成立时执行的语句只有一条的话,可以不加大括号,else也是