Chinaunix首页 | 论坛 | 博客
  • 博客访问: 444894
  • 博文数量: 155
  • 博客积分: 786
  • 博客等级: 军士长
  • 技术积分: 1561
  • 用 户 组: 普通用户
  • 注册时间: 2012-09-01 23:37
个人简介

在路上

文章分类

全部博文(155)

文章存档

2016年(2)

2015年(36)

2014年(45)

2013年(34)

2012年(38)

我的朋友

分类: C/C++

2012-09-06 23:15:54

此文为转载
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
阅读(3796) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~