本文目录一览:
- 1、在c语言程序中if-else语句的else语句总是不执行是怎么回事
- 2、C语言:if语句怎么不起作用
- 3、C语言 后部分的if不能正常执行,一直输出"一位数" 哪里出了问题?是不是if不能输(printf("")) 判断语句
- 4、C语言为什么IF语句输出的总是else后的语句。
- 5、C语言if语句,无法得到输出,求各位高手解答,谢谢!
- 6、为什么if后面的语句不执行,直接输出“input error!”,
在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个字符,输入多了就会造成数据溢出,导致程序崩溃。