C程中 if后的语句加不加中括号有什么区别

2025-03-23 07:26:24
推荐回答(3个)
回答1:

if 语句后有大括号, 则大括号里面所有的语句都会在if表达式为真时执行;如果没大括号,则if表达式为真时只会执行第一条语句.
例如:
#include

int main()
{
if (true)
{
printf("11111111111\n"); // 这两条都会打印
printf("11111111111\n");
}

if (false)
printf("11111111111\n"); // 只有这一条不会打印
printf("22222222222\n"); // 以下两条都会打印
printf("22222222222\n");
return 0;
}

回答2:

首先那个是大括号,不是中括号
加了大括号即表明大括号中的部分和if语句有关系,也就是if中的条件满足时,执行大括号中的语句
如果写在大括号外面,那么就和if没关系,无论if成立与否,都会执行

回答3:

不加括号的话只控制后面一个分号的语句,加了括号控制括号内所有语句