
#include<stdio.h> main() { int x,y; scanf(“%2d%1d”,&x,&y); printf(“ 5
#include<stdio.h>main(){intx,y;scanf(“%2d%1d”,&x,&y);printf(“%d\n”,x+y);}输入123456时,答案...
#include<stdio.h>
main()
{
int x,y;
scanf(“%2d%1d”,&x,&y);
printf(“%d\n”,x+y);
}
输入123456时,答案为15。why? 展开
main()
{
int x,y;
scanf(“%2d%1d”,&x,&y);
printf(“%d\n”,x+y);
}
输入123456时,答案为15。why? 展开
5个回答
展开全部
scanf(“%2d%1d)这里限制了你的x和y的长度了 %2d说明x的值为12 %1d说明y的值为3 所以它们的和为15啊!再输入的时候最好不要加前面的限制啊,正常是在输出端才设置的
展开全部
输入时将数字截断了,
%2d表示取输入字符的两位 即12
%1d表示取输入字符的1位 即3
12+3=15
%2d表示取输入字符的两位 即12
%1d表示取输入字符的1位 即3
12+3=15
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为%2d%1d没有空格符或逗号之类的区分,
所以,%2d则x=12,%1d,则y=3,后面输入的都不起作用了,
输出x+y,即为15
所以,%2d则x=12,%1d,则y=3,后面输入的都不起作用了,
输出x+y,即为15
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-31
展开全部
(“%2d%1d”,&x,&y);
也就是说x接受两位也就是12,y接受一位3,后面的无效
结果当然是15了
也就是说x接受两位也就是12,y接受一位3,后面的无效
结果当然是15了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
2d得到的不是12吗?1d得到3,自然结果为15了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询