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

如下语句:①scanf("%d%d",&a,&b);scanf("%c%c",&c,&d);②scanf("%d%d",&a,&b);scanf("%c%c",&c,&d... 如下语句:①scanf ("%d %d",&a,&b); scanf ( "%c %c",&c,&d);②scanf ("%d %d",&a,&b); scanf ( " %c %c",&c,&d);两者的唯一不同就是2中的第二个语句“后有个空格。在输... 如下语句:①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变量的机理是什么? 展开 展开
 我来答
农辉嬴梦寒
2019-04-27 · TA获得超过4116个赞
知道小有建树答主
回答量:3225
采纳率:33%
帮助的人:175万
展开全部
解释:
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);第二个语句“后有个空格"时系统默认你输入的两个数据之间存在空格字符或者转义字符。
其实是很简单的一个问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式