C语言程序 求解答,谢谢

#include<stdio.h>intmain(){inta;floatb;scanf("%2d%f",&a,&b);printf("%d,%f",a,b);retur... #include <stdio.h>

int main(){
int a;
float b;
scanf("%2d%f",&a,&b);
printf("%d,%f",a,b);

return 0;
}
为什么输入876 543.0以后,输出结果却是87,6.0
为什么不是87,5.0后面不应该输出的是b的值吗,跟a有什么关系
展开
 我来答
stomachcao
2019-01-13 · TA获得超过6263个赞
知道大有可为答主
回答量:2276
采纳率:75%
帮助的人:755万
展开全部
输入时 %2d 决定了只录入2个,同时录入2个后,后面的6就会被认为是下一个了,你可以只输入876 然后回车看一下
更多追问追答
追问
但我把输入设置成scanf("%2d,%f",&a,&b);已经隔开它们了,我输入876,543.0,结果还是一样。
追答
不会,如果你%2d,%f 则 必须输入2位后输入逗号,否则b将没有值,说一下你的目的吧,就是第一个数取2位,第二个数怎么取?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式