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

如下语句:①scanf("%d%d",&a,&b);scanf("%c%c",&c,&d);②sc... 如下语句:①scanf ("%d %d",&a,&b); scanf ( "%c %c",&c,&d);②scanf ("%d %d",&a,&b); scanf ( " %c %c",&c,&d);两者的唯一不同就是2中的第二个语句“后有个空格。在输入1 2(回车) a b(回车) 后,1中a,b,c,d分别为1,2,(回车的ASCLL码),a 2中a,b,c,d分别为1,2,a,b这都是一个空格引起的。请问:空格在这里可以避免内存接受回车到C变量的机理是什么? 展开
 我来答
Devryang
2012-08-05 · TA获得超过775个赞
知道小有建树答主
回答量:511
采纳率:50%
帮助的人:387万
展开全部
解释:
1、在用“%c”格式输入字符时,空格字符和“转义字符”都作为有效字符输入:
    scanf("%c%c%c",&c1,&c2,&c3);
如输入   a  b  c
字符‘a’送给c1,字符‘ ’送给c2,字符‘b’送给c3,因为%c只要求读入一个字符,后面不需要用空格作为两个字符的间隔,因此‘ ’作为下一个字符送给c2。
2、当你的);②scanf ("%d %d",&a,&b); scanf ( " %c %c",&c,&d);第二个语句“后有个空格"时系统默认你输入的两个数据之间存在空格字符或者转义字符。
其实是很简单的一个问题。
13孤岛
2012-08-05 · TA获得超过147个赞
知道小有建树答主
回答量:231
采纳率:33%
帮助的人:104万
展开全部
scanf(" %c %c",&a,&b);%c是读取字符的意思。其实就是一个空格的问题。%c前面的空格含义就是跳过所有空白字符(空格键和回车都是空白字符),同理后面的也一样。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
John159151
2012-08-05
知道答主
回答量:85
采纳率:0%
帮助的人:32.7万
展开全部
%c 读取的是字符
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b14d91c30
2012-08-06
知道答主
回答量:42
采纳率:0%
帮助的人:8.1万
展开全部
上面说得很清楚了 我就不重复了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式