问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

[c语言] 谭浩强书中一个例子的问题。万分感谢!!1

发布网友 发布时间:2023-10-18 13:49

我来回答

6个回答

热心网友 时间:2023-12-05 04:40

不是1楼说的原因,因为你先用getchar()读入了c,且getchar只读入一个字符,而之后你要输一个回车,这时候后面一句gets()就把回车读给了str,所以此时str的内容就是一个回车(换行符),所以会发现在程序结束时,上面有一行空白行,其实就是已经将str的回车输出了。
你试着在c = getchar() ;
enter_string(str);
这两句中间加一句getchar(),就可以了。

热心网友 时间:2023-12-05 04:40

因为getchar()只读取一个字符,但你在输入空格的时候是先按空格然后按回车,所以回车也算是一个输入,结果就是getchar()把空格从输入流中取走了,只剩下一个回车

然后gets()函数读入数据时也是依靠回车界定的,所以就直接读到了回车符号'\0',所以结果就是str中存储的只有一个'\0',其字符串长度为0,后边的delete_string(str,c);print_string(str);都执行了,不过执行后的结果依旧为'\0',所以只是输出一个空行,就好像直接结束一样
可以用scanf("%c\n", &c);来代替getchar(),或者连用c=getchar();getchar();即连用两个getchar()以去掉回车符号

热心网友 时间:2023-12-05 04:40

空格,回车是两个字符。
c = getchar() ; //空格由c接收。
enter_string(str); //回车由str接收。

热心网友 时间:2023-12-05 04:41

因为gets是个很蠢的函数, 如果“当前字符”是个回车的话它就认为读入直接结束

热心网友 时间:2023-12-05 04:42

getchar() ; 获取一个字符
gets(str); 获取一个字符串,以回车为结束标志.

你改了顺序以后,空格被getchar()接受了,没错的.回车由gets(str); 接受了,所以相当于获取可一个空字符串.
你别输入回车,直接输入空格和你想输入的字符串,然后再回车

热心网友 时间:2023-12-05 04:42

这是一个输入输出流的问题,gets、getchar这些函数是到输入流里拿数据而不是直接到终端键盘拿数据(其实跟你的问题没多大关系),你出现问题的地方在于gets跟getchar的实现:
gets会到输入流里读取字符流直到遇到EOF或者换行符,换行符会在读取之后被舍弃并替换成字符串结束符'\0',而getchar是直接到流里读取一个字符,也就是说你颠倒后的程序在getchar执行后流里还有一个换行符,当你再使用gets读取字符串时读取到的第一字符就是上次剩下的换行符。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
嘉容的意思是什么 look!the girl is walking __the road.A,crossB,across!crossing D... 美甲打磨头坏了怎么修 美甲打磨机用了不合适的打磨头会怎么样 卸美甲用什么打磨比较好? 美甲钨钢打磨头和陶瓷打磨头哪个更容易起热呢?这两种打磨头有哪些区别呢... 美甲打磨机到底怎么用 自来水管里流出蓝色的水是怎么回事? 最近有啥动漫好看的 推荐一下最近3年好看的动漫。。。 笔记本键盘被锁了怎么解开 丰田。RAV4发动机是加多少升机油? 劳动法有没有规定谩骂领导要被待岗的 BJ2032发动机机油多少升 有没女主是混血儿,家世特别好,非常漂亮,男主是黑道老大的小说...2 有没有男主是混血的,女主冷情的小说书 分手后如何在朋友圈打造自己才能让前任后悔? GeForce Experience 更新驱动,更新到一半提... 为什么我没安装更新一次显卡驱动程序,C盘空间都会变小,用清理...3 显卡驱动总占用C盘空间,安装一次多占用一次,这样下去更新几回...1 如何清理GeForce Experience更新文件? 自从给电脑装了一个Geforce Experience 之后...2 如何培养自己的有心人? 请问 中国电信的天翼云盘安装快么? 如果第一人格性格既不善良又不邪恶,那么第二人格是怎么样的?第...11 快快快,英语翻译。40 为什么我的PS CS4这么没有这个工具(红色圈圈部分) 我需要用它!_百度知 ... 有没有男主是混血的,女主冷情的小说书 手机号重新注册了一个,原来的咋找回来?? 最近家里介绍一位相亲对象,加微信的时候就发现了她的朋友圈屏蔽... 求教批处理高手!~ 1.What's this in english?_____...6 人脑电波是不是一种能量形式? 还在试用期阶段,上了十天班,辞职的话有工资发吗?6 工作十天左右辞职,有工资吗?264 中山市雅杰空调净化工程有限公司怎么样? 微信扫二维码闪退是骗局吗? QQ上没有设备锁怎么办3 下巴下面长得有像皮癣一样的东西 到底是什么啊 请问该怎么做呢 封了多久可以解开? QQ号被冻结,解冻需要开启QQ设备锁,我就设了我妈的,现在很... 锂电池电量怎么测试9 如何根据锂电池电压大致估算电量? 右眼睛上下眼皮都肿了,上面有好多小疙瘩,上嘴唇上也有好多小疙... This is the room ---- they had...6 全部文件名生成一个文本的软件1 如图,三角板ABC中,∠ACB=90°,∠B=30°,BC=...1 如果被封了,账号里的钱怎么拿回来?7 小红书上有哪些超火的穿搭博主?2 推荐几个你觉得不错的小红书时尚穿搭博主?4