飞船宇航员 发表于 2020-12-7 21:04:35

求助关于getchar()函数的结束问题

本帖最后由 飞船宇航员 于 2020-12-8 17:36 编辑

我想以!结束输入,用getchar一个个的从缓冲区读取字符,但是却出现了以下情况
while((ch=getchar())!='\n'){
                if(ch=='!') break;
                if(ch>='a'&&ch<='z'){
                        ch=ch-32;
                }
}
在读取的时候,我想的是让ch读取到!号时跳出循环,但是并没有,getchar在读到!时并没有读到应有的!对应的asc码33,而是读到了一个很奇怪的163
这不是asc码的正确范围,想问下这里究竟是怎么回事,还有应该如何以!作为输入的结尾,谢谢大佬们!

飞船宇航员 发表于 2020-12-7 21:11:10

问题已经解决了,原来是中文的!和英文的!不一样{:9_220:}

风过无痕1989 发表于 2020-12-7 21:39:30

飞船宇航员 发表于 2020-12-7 21:11
问题已经解决了,原来是中文的!和英文的!不一样

结束了,将问题重新编辑,然后选择已经解决即可
页: [1]
查看完整版本: 求助关于getchar()函数的结束问题