所在位置:主页 > 程序语言 > 在c语言程序中if-else语句的else语句总是不执行是怎么回事

在c语言程序中if-else语句的else语句总是不执行是怎么回事

发布时间:2023-10-25 15:56来源:www.sf1369.com作者:宇宇

在c语言程序中if-else语句的else语句总是不执行是怎么回事

1、新建一个工程和文件,命名为Third和first.c , 然后书写好程序的模板结构。

2、首先我们演示一个很不规范的睁毁代码写法,很多初学者容易写成这样,导致出现意想不到的运行结果。

3、很多初学者就会不知所措碰州,其实只要把代码按照正确的缩进方式书写,就可以很一目了然了。

4、这样书写过之笑早蔽后,就很清楚了,如果觉得还不够清楚的话,再将代码写的更加规范一点,那就成为下面的样子了。

5、if-else的嵌套结构中,else跟if进行配对,通过演示得到结果。

else在C语言中起什么作用

请参考一下:

C语言中的if else语句

象其它语言一样Turbo C2.0也提供条件语句。在Turbo C2.0中条件语句的一

般形式为:

if(表达式)

语句1;

else

语句2;

上述结构表示: 如果表达式的值为非0(TURE)即真孙液, 则执行语句1, 执行完语

句1从语句2后开始继续向下执行; 如果表达式的值为0(FALSE)即假, 则跳过语句

1而执行语句2。所谓表达式是指关系表达式和逻辑表达式的结合式, 关于表达式

前面已作过介绍, 这是不再重复。

注意:

1. 条件执行语句中else 语句2;部分是选择项, 可以缺省, 此时条件语句

变成:

if(表达式) 语句1;

表示若表达式的值为非0则执行语句1 , 否则跳过语句1继续执行。

2. 如果语句1或语句2有多于一条语句要执行时, 必须使用{和则困物} 把这些

语句包括在其中, 此时条件语句形式为:

if(表达式)

{

语句体1;

}

else

{

语句体2;

}

3. 条件语句可以嵌套, 这种情况经常碰到, 但条件嵌套语句容易出错, 其

原因主要是不知道哪个if对应哪个else。

例如:

if(x>20||x<-10)

if(y<=100&&y>x)

printf(Good);

else

printf(Bad);

对于上述情况, Turbo C2.0规定: else语句与最近的一个if语句匹配, 上例

中的else与if(y<=100&&y>x)相匹配。为了使else与if(x>20||x<-10)相匹配, 必

须用花括号。如下所示:

if(x>20||x<-10)

{

if(y<=100&&y>x)

printf(Good);

}

else

printf(Bad);

4. 可用阶梯式if-else-if结构。

阶梯式结构的一般形尺铅式为:

if(表达式1)

语句1;

else if(表达式2)

语句2;

else if(表达式3)

语句3;

.

.

.

else

语句n;

这种结构是从上到下逐个对条件进行判断, 一旦发现条件满点足就执行与它

有关的语句, 并跳过其它剩余阶梯; 若没有一个条件满足, 则执行最后一个else

语句n。最后这个else常起着缺省条件的作用。

同样, 如果每一个条件中有多于一条语句要执行时, 必须使用{和}把这

些语句包括在其中。

!68FBDF1E8697DE58!148.entry

因为你输入的数是<0的数,那当然Y=-1喽.

如果if条件不符悔兆稿缓合碧敬租,则执行else 后的语句.

scanf(%x,&x);

if(x>0)y=1; /*不起作用*/

if(x==0)y=0;

else y=-1;

因为迹哗洞你输入的数姿枯是不等芦晌于0,那当然Y=-1喽.

如果if条件不符合,则执行else 后的语句.

if(x==0)y=0;

else y=-1;

#include<stdio.h>

main()

{int x,y;

scanf(%x,&x);

if(x>0)y=1;

else if(x==0)y=0;

else y=-1;

printf(旁雹y is %d\n,y);

}

你的那个程序是当x>0时执行y=1,接着执行下面的一个if语句:如果x==0那么y=0;否则y=-1,也就是说只要x!=0那么运雹帆y=-1,对y重新赋值,-1会覆盖上肆返面的1.

if和ELSE是对应的!