打卡
问答题答案:
不断
动动手答案:
希望能讲一下用getchar()删除回车的原理{:5_100:}
学习!!!!
21228827 发表于 2018-9-1 15:39
getchar()函数执行一次会从键盘缓冲区(如果有内容就读取,没有内容就等待用户输入并以回车结束,回车相当于 ...
解释得真好
牛犇呀 懂了
six_mao 发表于 2016-10-26 10:28
stdin是啥,不该是stdio吗?
我也觉得是stdio
弥途 发表于 2023-4-21 14:13
我也觉得是stdio
fflush(stdin);是一个用来清除标准输入流缓存的指令函数,在C11之前是被C语法允许的,现在能不能用是取决于编译器。也就是说C99没有这个用法。
今天我学黄鱼的邻接表,写代码的时候,输入数据就总遇到这个问题,缓存区总是有一个整数和一个回车残留,VScode 用了fflush(stdin);发现没用,用getchar()也没用,现在问题还没解决,这东西调试起来很恶心,缓存区又不能监视………………
csdn上有张图,方便理解getchar(我是把缓冲区想象成一条队列,getchar就像是机场的安检人员,依次给队流中的字符做安检。但要注意字符'\n'(回车))就像是特工,也会被gerchar安检到。当初不理解scanf之后为什么要跟getchar获取'\n',这么一想到说的通了{:5_109:})"D:\图片\99e2b042730844668c6dfdd55c5371d0.png"
这段代码,就是检测,一串字符串有多少个字符,我试试中文字符检测出来的效果是怎样的
老师getchar()的函数原型能重写下吗,比如我们输入的是CHAR 缓冲区里面是什么类型的 我有点搞不清
{:10_279:}
也就是说调用了getchar,就不需要用scanf来进行输入了吗?
为什么不用scanf
我想知道怎么避免把空格也算入字数哇?
没看懂
朕已阅~