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变量的机理是什么? 展开
展开
1个回答
展开全部
解释:
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);第二个语句“后有个空格"时系统默认你输入的两个数据之间存在空格字符或者转义字符。
其实是很简单的一个问题。
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);第二个语句“后有个空格"时系统默认你输入的两个数据之间存在空格字符或者转义字符。
其实是很简单的一个问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询