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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© hanxujie 中级黑马   /  2015-6-14 21:05  /  757 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1):空语句

int a = 3

if(a = 3);//这符合语法规范,表示什么都没有干

2):如果if后的代码块只有一个,或者if之后只有一句话那么大括号可以省略,只会影响相邻的一个代码块,不影响其他代码块

if(a>2)
    printf("a>2");

3):永真试和永假试

if(0){   }    //大括号内的值永远不执行
if(1){   }     //大括号内的值永远执行

4):if中的return 0

if(a=3)

return 0;

printf("a>3");//如果出现return 0;则以此为结束点,以后的所有语句都不会执行,
                                          则不会打印a>3

if(a<3)

return 0;

printf("a>3");//这时候会打印a>3,因为a<3为假所以把return 0省略掉,之后的所有语句会打印

5):if 的作用域的问题

int num = 0,a = 0

if(a==3){int num = 5;}

print("num = %d\n",num);//此时会报错,以为num在大括号内,运行完后就释放掉了,之后没有num的值

6):作用域的紊乱

if(a==3)
int num =5;//此时会报错

可以改成

if(a==3){
int num =5;}//大括号里面表示我定义了一个变量没有用


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马