关于一个
……while ((ch = getchar()) != '\n')
{
if (ch < '0' || ch > '9')
continue;
// 语句A
}
…… 请问大佬们,为什么说只能输入数字才能执行A语句,这里面//不是代表直接跳过A语句吗,我随便打一个类似于/这种字符就不能继续执行下面语句吗?
不是数字字符的都continue了
c里面//是注释符 可能是理解错了,加上我的注释再看一下:
#include <stdio.h>
#include <stdlib.h>
int main()
{
char ch;
while ((ch = getchar()) != '\n') //在输入内容为回车不成立的条件下重复执行
{
if (ch < '0' || ch > '9') //如果字符小于0或大于9(相当于“如果字符不是0~9之间的数”)
continue; //下一轮循环(此时字符不是数字)
printf("我被执行了~");
}
return 0;
} 本帖最后由 一阵三十六 于 2022-4-5 21:47 编辑
// 语句A 的意思是在这一行开始写语句A ,这是一行注释
你输入任何信息都按照来字符处理
举个例子:
输入: 1234
实际上你输入了一个字符串“1234”
getchar()依次获取 ‘1’ ‘2’ ‘3’ ‘4’
然后赋值给了 ch
看循环条件,只有非数字字符才满足条件,这个时候就执行了continue语句。
页:
[1]