为什么getchar()只吃gets(s)前的回车符,而不吃gets(fa)前的回车符
答案:2 悬赏:20 手机版
解决时间 2021-04-17 06:49
- 提问者网友:暗中人
- 2021-04-16 17:44
为什么getchar()只吃gets(s)前的回车符,而不吃gets(fa)前的回车符
最佳答案
- 五星知识达人网友:佘樂
- 2021-04-16 19:11
请详细描述你的问题,我猜可能你的问题涉及到行缓冲追问如我把用户名设为wanfeng,getchar()能吃掉‘wanfeng’后面的回车但密码设为‘123456’时,getchar()却不吃回车,而是把1给吃了追答那你为嘛要加个getchar呢?把gets改为fgets(s,len,stdin)len为给s分配的长度,你的描述让我想起了贪吃蛇,兄弟,专业点!而且你密码后面根本没加getchar追问不好意思,我说的问题有点歧义,麻烦您再看看我的问题吧
假如我输入用户名'wanfeng',密码'123456'后,它实际输出结果是用户名为'wanfeng',密码为'123456',但是
再加一个设置密码后加getchar()
那么运行结果就变成了用户名'wanfeng',密码‘23456’,还有高手您的意思我懂,我有很多种解决方法,但如果单纯为了绕开getchar(),那我的问题就没意义了。谢谢
追答我不明白,你这么处理的意义何在,老实说,我工作这么多年了,没见过要这么干的。追问既然这样,那没什么事了,谢谢
假如我输入用户名'wanfeng',密码'123456'后,它实际输出结果是用户名为'wanfeng',密码为'123456',但是
再加一个设置密码后加getchar()
那么运行结果就变成了用户名'wanfeng',密码‘23456’,还有高手您的意思我懂,我有很多种解决方法,但如果单纯为了绕开getchar(),那我的问题就没意义了。谢谢
追答我不明白,你这么处理的意义何在,老实说,我工作这么多年了,没见过要这么干的。追问既然这样,那没什么事了,谢谢
全部回答
- 1楼网友:逐風
- 2021-04-16 19:45
你不要猜,你先把问题的结果说出来追问假如我把用户名设为wanfeng,getchar()能吃掉‘wanfeng’后面的回车但密码设为‘123456’时,getchar()却不吃回车,而是把1给吃了
假如我把用户名设为wanfeng,getchar()能吃掉‘wanfeng’后面的回车但密码设为‘123456’时,getchar()却不吃回车,而是把1给
吃了
追答你贴出来的代码是1的你让我怎么看你的2的逻辑追问
不好意思,我说的问题有点歧义,麻烦您再看看我的问题吧
假如我输入用户名'wanfeng',密码'123456'后,它实际输出结果是用户名为'wanfeng',密码为'123456',但是再加一个设置密码后加getchar()
那么运行结果就变成了用户名'wanfeng',密码‘23456’,请高手解释一下
追答哥,你把完整的贴出来吧,你操作的顺序最重要的是回车,你反而没描述,还有你知道getchar吃回车你就在输入的下一行写getchar啊,你这个隔了好几行再写是什么个意思
假如我把用户名设为wanfeng,getchar()能吃掉‘wanfeng’后面的回车但密码设为‘123456’时,getchar()却不吃回车,而是把1给
吃了
追答你贴出来的代码是1的你让我怎么看你的2的逻辑追问
不好意思,我说的问题有点歧义,麻烦您再看看我的问题吧
假如我输入用户名'wanfeng',密码'123456'后,它实际输出结果是用户名为'wanfeng',密码为'123456',但是再加一个设置密码后加getchar()
那么运行结果就变成了用户名'wanfeng',密码‘23456’,请高手解释一下
追答哥,你把完整的贴出来吧,你操作的顺序最重要的是回车,你反而没描述,还有你知道getchar吃回车你就在输入的下一行写getchar啊,你这个隔了好几行再写是什么个意思
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯