首页 > 编程知识 正文

if函数常见错误,c语言if语句不起作用

时间:2023-05-06 14:50:20 阅读:228390 作者:2081

常用的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 举报,一经查实,本站将立刻删除。