职业IT人-IT人生活圈

 找回密码
 成为会员
搜索
查看: 738|回复: 3

C语言一个输入语句的疑问

[复制链接]
原始宝宝 发表于 2009-8-15 11:50 | 显示全部楼层 |阅读模式
scanf(\"%3c\",&ch);
这个语句中的3表示输入数据占3列
那么对于这条语句有什么意义呢?
scanf(\"%c\",&ch);这2句在输入数据上有什么区别吗?
死性不改 发表于 2009-8-15 11:51 | 显示全部楼层

C语言一个输入语句的疑问

楼主您好~ 正如您所说 %3c是格式化输入数据
输入3个字符
把第一个字符赋给ch
例如输入abc
ch得到字符'a'
这样可以把后面两个字符忽略掉
看似没用但还是有区别的
比如您后面的程序接着需要输入字符的话
如果不写%3
就会把这次输入多出的3个字符给了下面
但是如果写了%3
就会把输入忽略掉
dongdg 发表于 2009-8-15 11:51 | 显示全部楼层

C语言一个输入语句的疑问

scanf("%3c",&ch);多在字符数组中使用;用于输入字符串
少3个字符等待输入
大于或等于3个字符取前三个字符作为这次输入
scanf("%c",&ch);用于输入单个字符
不关输入几个字符取第一个作为这次输入
酷酷 发表于 2009-8-15 11:51 | 显示全部楼层

C语言一个输入语句的疑问

有区别:%3c表示变量ch的输出占三列
例如当ch='a'时
scanf("%3c",&ch)结果为"口口a",一共输出三列
前两列补空格;而scanf("%c",&ch)结果为"a"

你可以自己试试
%5c就会"口口口口a"
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

QQ|手机版|小黑屋|网站帮助|职业IT人-IT人生活圈 ( 粤ICP备12053935号-1 )|网站地图
本站文章版权归原发布者及原出处所有。内容为作者个人观点,并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是信息平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽造成漏登,请及时联系我们,我们将根据著作权人的要求立即更正或者删除有关内容。

GMT+8, 2024-5-5 16:06 , Processed in 0.150063 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表