一.if
(1)int age=60;
if(20<=age<40);
printf("snnd");
仍然可以输出snnd,原因:在括号里会先执行左边,为假,即为0,所以右边成立
所以应采用&&
(2)
如果条件成立,且要执行多条语句,要用大括号括起来
(3)
else和离得最近的,未被匹配的if相匹配
二.switch
switch()的括号内必须是整形常量
也就包括case后的亦为整形常量,或是输出整形常量的表达式
三.
int main()
{
int a = 4;
if (a = 5)
{
printf("nb");
}
return 0;
}//如此会输出nb,因为'='是为赋值,应该改为'==',或者,下次再遇到一个常量和一个变量的比较,可以写成5==num的形式,这样如果不慎写成5=num会报错,而不是bug,不失为一种好的语言风格