
| C语言for循环大括号说明 |
| 摘自: www.chinaitlab.com 被阅读次数: 136 |
由 yangyi 于 2009-07-04 20:41:23 提供 |
新手学习C语言的时候可能搞不清这个问题,for循环后有时候有大括号,有时候没有,比如: for(i=1;i<=10;i++){……} 或for(i=1;i<=10;i++) p=i;…… 那么到底什么时候应该加人大括号什么时候不加?还有就是for循环的作用域多大?也就是说到底从哪儿到哪儿属于循环的内容? 下面我们将告诉大家区分这个问题。 若不加大括号,则它只包含下面的一条语句或一个循环,若加了括号,则它包含所有括号内的语句 如果不加大括号,就是作用域就是紧跟着for的那一条语句 如果加大括号,作用域就是这个大括号括起来的内容 如果循环的语句只有一句的话,可以不加大括号,如果有多条,就要加大括号 for(i=1;i<=10;i++) p=i;j=10; 与 for(i=1;i<=10;i++) { p=i; } j=10;相同 如果说for里有一句循环语句,那么就不用加大括号,这是简便的写法!如: for(1=0;i<10;i++) printf(\"*****\"); 这样就不用加打括号,如果是下面这样, for(i=0;i<10;i++) { printf(\"***\"); printf(\"循环10次\"); } 那就要加大括号,因为里面有2句是循环语句,不加大括号的情况下,这能认为语句里面的第一句是要执行的,比如: for(i=0;i<10;i++) printf(\"***\"); printf(\"循环10次\"); 屏幕上出现***循环10次的结果,而“循环10次”只被输出了一次! 这种方法不仅在for可以出现,在if等都可以出现 ---------------------------- 作用域的问题: 如果不加大括号,那么作用域就是下面数第一句话,如果有大括号,那么就是大括号里面的所有内容,如: for(i=-;i<10;i++) { printf(\"***\"); printf(\"***\"): } 作用域就是两句printf for(i=-;i<10;i++) printf(\"***\"); printf(\"***\"):] 作用域就是第一句printf |