c语言 gets scanf

[复制链接]
查看11 | 回复4 | 2017-12-6 10:16:57 | 显示全部楼层 |阅读模式
是这样的:你在输入b的值“2”的时候,要结束b的输入,就会用到ENTER键,而这个键对应的值虽然不会被读取,但是它会进入缓存区,然后程序执行到GETS(c)时,缓存区的ENTER值就会被读取,并赋给C,然后你又结束输入,再输入D,于是你运行的结果应该是:a=1b=2c=d=3是不是?...
回复

使用道具 举报

千问 | 2017-12-6 10:16:57 | 显示全部楼层
说明你没有弄懂函数gets和scanf。gets函数以回车作为输入结束标记,并把回车接收且转换为'\0'作为字符串结束标记;而scanf的接收字符串时也是以回车作为输入结束标记的,但不同于gets的是它不接收回车,把它留在输入缓冲区里(尽管你的意思好像是不让说缓冲区什么的,但这没办法,因为确实与缓冲区有关),而自动在所接收的字符串后添加一个'\0'。你用前述...
回复

使用道具 举报

千问 | 2017-12-6 10:16:57 | 显示全部楼层
gets能接收空格 scanf不能接收空格...
回复

使用道具 举报

千问 | 2017-12-6 10:16:57 | 显示全部楼层
全改成SCANF...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行