当前位置: 代码迷 >> C语言 >> [求助]请帮忙解释一下这个SCANF的语句吧
  详细解决方案

[求助]请帮忙解释一下这个SCANF的语句吧

热度:191   发布时间:2007-01-13 02:21:02.0
[求助]请帮忙解释一下这个SCANF的语句吧
main()
{
int a,b;
scanf("%2d%*2s%2d",&a,&b); /*就是这里的%*2s不是太明白*/
printf("%d",a+b);
}
输入12345678为什么结果是68? 我猜想是12+56=68,但是具体过程不太明白请指明一下吧
搜索更多相关的解决方案: 语句  SCANF  解释  

----------------解决方案--------------------------------------------------------
main()
{
int a,b;
scanf("%2d%*2s%2d",&a,&b); -----------你输入122s56结果也是 68的
printf("%d",a+b);
}
因为 在scanf("%2d%*2s%2d",&a,&b); 里面
它回~ 把 你输入的12345678 中
12 给 a
然后会调走2s然后读区 56 给b
这里%2s是按要求格式输入~比如~
printf("please enter the value for i&j,in form i*j:");
scanf(“%d*%d",&i,&j);
要求的“10*12” 这样的输入形式~
希望你能理解吧~毕竟将来你要接触cout cin这些 不要很陷进去~
希望我的回答对你有帮助!


----------------解决方案--------------------------------------------------------
以下是引用kaid在2007-1-13 2:21:02的发言:
main()
{
int a,b;
scanf("%2d%*2s%2d",&a,&b); /*就是这里的%*2s不是太明白*/
printf("%d",a+b);
}
输入12345678为什么结果是68? 我猜想是12+56=68,但是具体过程不太明白请指明一下吧

%2*即输入二位数字无效.
----------------解决方案--------------------------------------------------------
嗯,借问一下那个%*2s是不是只指针来的?
----------------解决方案--------------------------------------------------------

以下是引用kaid在2007-1-13 15:57:50的发言:
嗯,借问一下那个%*2s是不是只指针来的?

不是,“ * ”是略过仅随其后的一个格式输入
比如%*d则输入/输出是略过输入一个整数


----------------解决方案--------------------------------------------------------
哦,明白,谢谢各位的回答了

----------------解决方案--------------------------------------------------------
  相关解决方案