黑马程序员技术交流社区

标题: if作用域的小问题 [打印本页]

作者: 小小羊    时间: 2015-6-18 13:02
标题: if作用域的小问题
    if作用域紊乱具体些怎么讲?求解释

作者: 丁铭检    时间: 2015-6-18 14:45
if的作用域就等于紧跟在if后面大括号所包裹的范围,大括号的包裹范围在哪,那if的作用域就在哪。。不知道能否看懂。。
作者: 白0702    时间: 2015-6-18 18:47
楼上说的很对,就是紧跟在if后面的大括号里的内容,如果程序逻辑没问题的话,不会出现if作用域紊乱的现象的
作者: 天下1083    时间: 2015-6-18 19:15
1楼对的
作者: DemonPeter    时间: 2015-6-18 19:37
举个例子来说吧,单分支if的一般形式:if(表达式)语句体
main()
  {   
     int a=4,b=3,c=5,t=0;
     if(a<b)t=a;a=b;b=t;   注意点:先if为“假”所以跳过t=a(只有t=a为第一个if的语句体);
                                       但后面的a=b;b=t;继续执行
     if(a<c)t=a;a=c;c=t;   
    printf("%d%d%d\n",a,b,c);
}       最后a,b,c的值为5 0 3,
     这里我觉得语句体只有一条是会可能出错,如果语句体为复合语句,一定要用{}括起来,
   如:if(a<b)
         {t=a;a=b;b=t;}   如果if为“真”,执行{}里面的内容,我想这个是不会算错的!
作者: 小小羊    时间: 2015-6-18 21:03
丁铭检 发表于 2015-6-18 14:45
if的作用域就等于紧跟在if后面大括号所包裹的范围,大括号的包裹范围在哪,那if的作用域就在哪。。不知道能 ...

可以看懂
作者: 守望黎明    时间: 2015-6-18 21:28
反正尽量用{}就对了,别偷懒。
作者: 任伟    时间: 2015-6-18 21:32
看大口号了、
作者: 任伟    时间: 2015-6-18 21:34
看大口号了、明白吗
作者: 小小羊    时间: 2015-6-18 21:36
加上大括号就好了吗?




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2