A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 菜鸟八哥 于 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);

}

6 个回复

倒序浏览
在 switch 中也容易犯上面的错误。
回复 使用道具 举报
如果括号中只有一行命令,这个时候才可以把括号省略
回复 使用道具 举报
擦  你说这好像讲了吧
回复 使用道具 举报
写代码的时候尽量不要省略大括号,即使只有一行代码,不利于阅读
回复 使用道具 举报
午后的猫 发表于 2014-12-31 14:11
写代码的时候尽量不要省略大括号,即使只有一行代码,不利于阅读

是的,最好添上大括号,规范下比较好
回复 使用道具 举报
BBD2008 中级黑马 2014-12-31 17:16:39
7#
这种只有一句的也可以写成一排,中间不换行,如果看不惯大括号的话写成一排的效果会好很多。

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

如果很多句就必须加大括号了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马