C语言for语句加{}和不加{}有什么区别?

如题所述

你好,很高兴为你答疑。
为了程序的易读,一般是提倡加括号的,那样for函数执行的主体清晰明了。
不加括号的时候,默认该for函数执行的是紧跟其后的1函数或语句。
比如:
for(;;)
{
for(;;)
{
}
}
这里面外层的for不佳括号也可以的。但是如下:

for(;;)
{
for(;;)
{
}
printf("");
}
这样的话外层for不加括号主体是内层 for ,主体没有printf函数了。是以提倡加括号。
问题解决还望采纳。也欢迎探讨。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-24
如果for循环里面,只有一条语句,那么,加不加{ } 是没有任何区别的。 如果for 循环里面有很多条语句,那么加了{},for就执行两个{}里面的语句,不加,就执行下一个分号之前的语句,因为一个分号是保不住多个语句的。
第2个回答  2017-11-20
{}其内的所有语句是循环体内的语句;无{}则默认下一个";"前的语句是循环体内的语句。
例如:
for(int i=0;i<5;i++){m+=5+i;n+=m;}//每次循环,m和n的值都重新计算,即5次计算。
for(int i=0;i<5;i++)m+=5+i;n+=m;//每次循环,m的值都重新计算,即5次计算,n则是for循环结束后仅计算一次。
for(int i=0;i<5;i++);m+=5+i;n+=m;//每次循环啥都不做,m和n则是for循环结束后仅计算一次。
相似回答