求助
#include<stdio.h>int main()
{
char ch;
while ((ch = getchar()) != '\n')
{
if (ch < 'a' || ch > 'z')
continue;
printf("%d",12);
}
}
请问这个if语句不加程序块有什么用啊,为什么输出字母才会打出printf的语句。
getchar()这不就是接收缓冲区字符的函数吗 1.if语句的作用就是:如果ch中存放的字符在ASCII码表中处于‘a’之前或者‘z’之后就跳过printf语句。
2.你的printf语句并不是属于if语句,注意你的缩进。
3.printf那一句会报错,应该改成printf("%c", ch) linczhw 发表于 2020-2-21 21:03
1.if语句的作用就是:如果ch中存放的字符在ASCII码表中处于‘a’之前或者‘z’之后就跳过printf语句。
2. ...
printf并没有报错 if语句如果不加花括号的话,就只有接下来的一句代码是需要判断的,后面的语句不管if条件是否通过都会执行。但是由于你的if条件后面是continue,所以只要你输入的不是小写字母,printf语句就不会执行。 wccd 发表于 2020-2-23 10:48
printf并没有报错
符合语法是并不会报错的。但你的代码要输出的内容并不通用。
页:
[1]