C语言中while加{}号和不加有什么区别

2025-01-05 11:39:25
推荐回答(5个)
回答1:

{}表示的是代码块,不加的话while循环只循环运行第一句话,循环结束后再运行之后的。
while((c = getchar()) != EOF)
++nc;
printf("输入的字符数为:%ld\n",nc-1);
system("pause");

等同于:
while((c = getchar()) != EOF)
{
++nc;
}
printf("输入的字符数为:%ld\n",nc-1);
system("pause");

回答2:

楼主你好:
{}是复合语句表示法,也就是{}中的所有语句是一个复合语句,它和其它语句的关系,你可以把{}中的所有语句当成是一个句子。在while后你如果加了{}自然就是每循环一次,{}中的所有语句都要执行,如果没有{},那么它只执行第一句++nc;而 printf("输入的字符数为:%ld\n",nc-1); 则是在循环完之后才执行。所以加括号和不加括号得出的结果截然不同。

希望能帮助你~~~~

回答3:

这样给你解释:
while( 表达式)
语句;
意思:先判断条件,如果成立执行循环体,执行完之后继续判断条件执行循环体,当条件不成立时循环结束,而在这个循环当中,循环体只有一条语句,所以执行完这一条语句之后就判断条件。
如果循环体有两条或两条以上的语句那么就必须加{},而且当循环体里全部执行完之后才会判断条件

回答4:

加括号循环一次就执行括号内的语句,不加的话,就只执行紧跟着的一句,所以只会执行输出语句一次...

回答5:

while(){}所有在{}都会循环执行。如果是while(),则只会循环执行while的第一句