常用的if用法有:(1)if...else (2)if...else if....else
if语句是一种简单的选择结构,也是一种重要的选择结构
对于初学者来说,如果不注意的话,很容易在if语句上出现错误,下面是几种常见的错误:
(1).
if(3 > 2);
printf("hello");
else
printf("hi");
这是初学者最容易犯的一个错误,大家知道在C语言里面,一个分号就是一个语句的结束,如果大家在写代码的时候在if接着的判断表达式后面加了“;”的话,其实就是加入了一条空语句,而if语句只能管道一条语句(没有花括号的情况下),也就是说printf(“hello”);并不受if语句影响,是一个独立的语句,这里要将if(3 > 2);的;去掉就行。注意(这种错误是不会被提示语法错误的,即语法上是正确的)
(2).
if(3 > 2)
printf("one");
else if(3 > 1)
printf("tow");
else (3 > 0)
printf("three");
再说这个问题之前先问一下,在if后面的3>2和和else if后面的3都成立,那么这个语句流程是怎么走的呢,是只执行if后面的呢还是else if后面的也会执行呢,还是有语法错误呢? 这个其实是是没有语法错误的,在执行的时候因为满足if后面的判断表达式,所以直接执行if后面的语句,而不会执行else if后面的的语句。在逻辑上的关系就是满足了if后面的判断式,即执行if后面的语句,而后面 的else if和else都不会被执行。
那么再倒回来说上面那段代码的问题,else后面可以加判断表达式吗?首先这一点是个错误的,并且在语法上也是错误的,在逻辑上就更说不通了。逻辑上来说,如果什么正确就执行什么否则就执行什么,那么否则后面是不是就不用加判断表达啦,即上面的都不满足,就执行否则(else)后面的。修改时只需要把else后面的判断表达式去掉就好。
这是我自己在学习C语言时候的一点点小总结,第一次写,请大家多多包涵。