c语言中%*c%c什么意思 5

比如当scanf("%c",&ans)不能读入时,而scanf("%*c%c",&ans)就能读入... 比如当scanf("%c",&ans)不能读入时,而scanf("%*c%c",&ans)就能读入 展开
 我来答
百度网友3d0d1f0
2012-01-03 · 超过11用户采纳过TA的回答
知道答主
回答量:48
采纳率:0%
帮助的人:41.7万
展开全部
scanf("%c",&ans)没有问题,scanf("%*c%c",&ans)不存在这种写法,
%c表示单个字符,&ans表示ans的存储地址,总体意思是将输入字符串存储到ans的地址里;
之所以不能读入有很多原因,我不知道你代码的情况,不好说,你看一下ans的定义是否有问题,
追问
ans的定义是char型的,scanf("%*c%c",&ans)写法没错,我是从书上抄下来的,只有这样才能输入scanf("%c",&ans)不能输入,我感觉很奇怪
匿名用户
2012-01-03
展开全部
*号用在%和格式符之间,称为:输入赋值抑制符。即,有这个*号存在时,需要输入数据,但输入的数据不会赋给任何变量
追问
你这里指的数据可以是字符吗,请说详细一下scanf("%c",&ans)输入和scanf("%*c%c",&ans)输入的区别,我刚开始写scanf("%c",&ans)输入时不执行此语句,换成了scanf("%*c%c",&ans)输入就没问题了
printf("sorry,it's full. could you choice another area? \n");
printf("please chose y==yes or n==no\n");
scanf("%*c%c",&ans);—————————为什么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友344bd83
2012-01-03 · TA获得超过173个赞
知道答主
回答量:63
采纳率:0%
帮助的人:67.1万
展开全部
你的ans变量是char类型的吗?
追问
是呀
追答
利用scanf读取字符型变量时,%c是不会忽略空白字符的,所以如果要读入一个字符,一种方法是利用getchar(),一种是在前边加一个%*c处理掉读进来的空白字符,另一种方法是在%c前边一个空格。编译系统不同,这三种方法的某一种或两种可能不能用,但getchar()目前是可以通用的。
如果你声明char ans1,ans2;
scanf("%c %c",&ans1,&ans2);
printf("%c %c",ans1,ans2);
你会发现ans1的值是空的(0),而ans2的值才是你输入的第一个字符
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
孤独J潮流
2012-01-03 · TA获得超过366个赞
知道小有建树答主
回答量:404
采纳率:0%
帮助的人:232万
展开全部
不知道。。。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式