首页 > 编程知识 正文

c语言if语句格式常见错误,c语言if例题

时间:2023-05-04 12:45:50 阅读:238228 作者:1948

常用的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五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。