没有梦想的人生是苍白的人生,把白日梦当成梦想的人生则是愚蠢的人生。
1:空语句问题
# include <stdio.h> int main(void) { if( 3 > 2 ) ; //等价于 if ( 3 > 2 ) ; //这是一个空语句 return 0; }举例子:
# include <stdio.h> int main(void) { if ( 1 > 2 ) ; //我们都知道1大于2是不可能的情况,请注意此行分号 printf("AAAA,"); printf("BBBB"); return 0; }输出结果:AAAA,BBBB 程序也不会报错,为什么呢?因为程序执行的时候,会在分号 ; 那里认为是一个空语句。 也就是说,如果if成立,那么执行空语句。 2:if常见错误解析(重点)
# include <stdio.h> int main(void) { if ( 3 > 2 ) ; printf("哈哈!\n"); else printf("嘿嘿!\n"); return 0; }上面这个程序是错误的,为什么呢?在该程序中,总的有4个语句。 而在以else开头的那个语句是有错误的,因为在C语言中是没有以else开头的这种语法。
# include <stdio.h> int main(void) { if ( 3 > 2 ) printf("AAAA\n"); else if ( 3 > 1 ) printf("BBBB\n"); else printf("CCCC\n"); return 0; }在上面这个程序中,最终的值是AAAA,虽说后面的3>1也满足条件,但是当3>2满足条件后,该if语句就会终止,后面的语句是不会在执行的.
既然7行要写表达式,就要写if。