您的位置:

if条件句c语言为什么无法输出后面的语句,c语言不执行if下面的语句

本文目录一览:

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

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

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

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

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

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

C语言:if语句怎么不起作用

如果if语句执行了 那么不可能不起作用

所以 如果程序运行结果非预期,那么可能是

1 if语句没有执行到 也就是代码因为某种原因跑到其他地方去了

2 if本身的判断语句有问题 写错了

3 if里面执行的代码有问题 没有起到预期效果

可以单步跟踪一下

或者上传完整代码供分析。

C语言 后部分的if不能正常执行,一直输出"一位数" 哪里出了问题?是不是if不能输(printf("")) 判断语句

else if(printf("两位数\n"))这句不对, if条件语句里这样判断是不会有任何结果的。 if里面判断变量一般是这样用的

C语言为什么IF语句输出的总是else后的语句。

首先请确认你输入的数能正确的赋值给变量x,按照你的scanf中写法,输入时应该是 x520 这样才对

C语言if语句,无法得到输出,求各位高手解答,谢谢!

scanf("%d\n",X);

改为

scanf("%d",X);

原来的输入需要有个回车的格式("\n"),所以在运行时,输入x的值之后,要敲两个回车键,才能完成输入,输出Y的值。修改后,只要敲一个回车确认输入就可以得到y的值了。

为什么if后面的语句不执行,直接输出“input error!”,

直接打印一次你输入的内容,不就能看到问题原因了吗?

在那个

scanf("%d%s%c%c",person[i].num,person[i].name,person[i].sex,person[i].job);

下面加一行:printf("%d

%s

%c

%c\n",

person[i].num,

person[i].name,

person[i].sex,

person[i].job);

你会发现在显示完名字后会换行;

你输入名字后按了回车,scanf()函数把换行符留在输入缓冲区里,之后的两个%c,对应sex和job,sex获得了换行符,而job需要你手动输入,但是,你误以为还要输入sex和job,于是,输入了两个字符,本来是给sex的字符却给了job,剩下的一个字符留到下次用scanf()函数时再获取。

解决办法:

先声明一个临时字符串,假设命名为temp;

char

temp[100];

然后,把这行代码:

scanf("%d%s%c%c",person[i].num,person[i].name,person[i].sex,person[i].job);

改成:

scanf("%d",

person[i].num);

scanf("%s",

person[i].name);

scanf("%s",

temp);

person[i].sex

=

temp[0];

scanf("%s",

temp);

person[i].job

=

temp[0];

也就是先保存一段字符串,再从字符串中取第一个字符赋值给相应变量,这样,就不会受到换行符的影响。

你这个程序只是写给自己用的,输入内容时,程序又不提示该输入什么,是字符串还是数字?是名字还是编号?只有你自己懂怎么用,别人不看代码只运行它,可不知道怎么输入,也容易让程序崩溃,因为你这行代码: char

name[10];,只能输入10个字符,输入多了就会造成数据溢出,导致程序崩溃。