A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yangyan 中级黑马   /  2014-9-20 21:04  /  1724 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

scanf的第一个参数中不要包含\n,比如scanf(“%d\n”, &a); 这将导致scanf函数无法结束
刚刚犯这个错误了

8 个回复

倒序浏览
scanf好像不能用\n吧,这是输出控制符,scanf是输入的

点评

可以。每个空白字符可以匹配输入中任意多个空白字符  发表于 2014-9-22 11:14
回复 使用道具 举报
结束倒是可以结束,用ctrl+d或ctrl+z。不过确实不推荐。类似的还有不要在scanf中包含提示输入信息,应该将其放到printf中
回复 使用道具 举报
fantacyleo 发表于 2014-9-22 11:16
结束倒是可以结束,用ctrl+d或ctrl+z。不过确实不推荐。类似的还有不要在scanf中包含提示输入信息,应该将 ...

恩恩,学习了
回复 使用道具 举报
fantacyleo 发表于 2014-9-22 11:16
结束倒是可以结束,用ctrl+d或ctrl+z。不过确实不推荐。类似的还有不要在scanf中包含提示输入信息,应该将 ...

如果在scanf中包含提示输入信息,那么后果是输入的值没办法传给变量:L 本人犯过这个低级错误
回复 使用道具 举报
AngleMGG 发表于 2014-9-22 12:10
如果在scanf中包含提示输入信息,那么后果是输入的值没办法传给变量 本人犯过这个低级错误 ...

对,如果在scanf中使用了提示信息,输入时必须把提示信息完整地重复一遍,否则匹配会失败。好在scanf也就在c中用一用。ios app开发中永远不会让用户从控制台输入数据
回复 使用道具 举报
housq 初级黑马 2014-9-22 19:56:39
7#
fantacyleo 发表于 2014-9-22 16:09
对,如果在scanf中使用了提示信息,输入时必须把提示信息完整地重复一遍,否则匹配会失败。好在scanf也就 ...

那应该是格式化输入的吧,一般不建议用转义字符
回复 使用道具 举报
longshaocn 来自手机 中级黑马 2014-9-22 20:07:00
8#
scanf中\n在内部有特殊用途,所以接收的时候不能有\n。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马