黑马程序员技术交流社区

标题: 今天学习if的时候,有个很容易犯错的地方 [打印本页]

作者: 菜鸟八哥    时间: 2014-12-31 11:52
标题: 今天学习if的时候,有个很容易犯错的地方
本帖最后由 菜鸟八哥 于 2014-12-31 11:55 编辑

//变量作用域的问题

#include <stdio.h>
void main(){
int a = 5;
if(a> 3) 
 int b= 6;

//这个时候编译会报错,不知道变量b的作用域范围,所以,要加上大括号
printf("%d",b);




}



#include <stdio.h>
void main(){
int a = 5;
if(a> 3) 

 int b= 6;
printf("%d",b);

}

作者: 菜鸟八哥    时间: 2014-12-31 12:32
在 switch 中也容易犯上面的错误。
作者: shicuf    时间: 2014-12-31 12:53
如果括号中只有一行命令,这个时候才可以把括号省略
作者: 北漂的小马    时间: 2014-12-31 13:09
擦  你说这好像讲了吧
作者: 午后的猫    时间: 2014-12-31 14:11
写代码的时候尽量不要省略大括号,即使只有一行代码,不利于阅读
作者: 菜鸟八哥    时间: 2014-12-31 17:06
午后的猫 发表于 2014-12-31 14:11
写代码的时候尽量不要省略大括号,即使只有一行代码,不利于阅读

是的,最好添上大括号,规范下比较好
作者: BBD2008    时间: 2014-12-31 17:16
这种只有一句的也可以写成一排,中间不换行,如果看不惯大括号的话写成一排的效果会好很多。

if(a > b) a = b;
这么写也是可以的,很多老程序员都这么写。

如果很多句就必须加大括号了。




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