C语言if语句的一些小错误

常用的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语言时候的一点点小总结,第一次写,请大家多多包涵。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值