巨兔12138 发表于 2020-3-1 17:08:21

if (ch < '0' || ch > '9')的含义

……
while ((ch = getchar()) != '\n')
{
      if (ch < '0' || ch > '9')
                continue;
      // 语句A
}
……
进入循环的条件我能看懂,是当输入的字符不是回车时
循环后面的条件是什么意思我就看不懂了
哪位大佬能给解释下

一个账号 发表于 2020-3-1 17:24:52

含义是判断 ch 是不是数字,如果是,执行语句A,否则执行语句B。

巨兔12138 发表于 2020-3-1 17:50:13

一个账号 发表于 2020-3-1 17:24
含义是判断 ch 是不是数字,如果是,执行语句A,否则执行语句B。

我的意思是,我不懂 ch < '0'和 ch > '9'的意思,您能给解释一下吗

拖延症大叔 发表于 2020-3-1 18:35:10

如果    CH小于字符‘0’或者CH大于字符'9'

te___amo 发表于 2020-3-1 19:23:02

getchar函数获取的内容都是字符   字符‘0’和数字0是不等的   ch < '0'和 ch > '9'的意思是 如果你输入了字符0字符1字符2执行语句A输入了其它字符比如字符a字符b就会执行continue   你可以把它理解为ch < 0 || ch > 9但绝对不能写作 ch < 0 || ch > 9   因为十进制数0 在ASCLL码中对应的字符是‘nul’去看看ASCLL码表
页: [1]
查看完整版本: if (ch < '0' || ch > '9')的含义