C语言 设定义:int a;float b;执行scanf("%2d%f",&a,&b);语句时,

2025-02-28 06:58:30
推荐回答(2个)
回答1:

%2d决定了a只能接受两位数字,所以a的值为87
你的%2d%f是连在一起的,那么按照默认约定,输入的数据也应该是连续的,中间没有空格。
否则会将空格作为输入的结束符看待。

6和5中间有一个空格,所以输入到6就结束了,后面的543.0被无视。
则将6赋值给b,打印b的值即为6.00000

回答2:

scanf("%2d%f",&a,&b);改为scanf("%2d,%f",&a,&b); 然后 876,543.0 数据输入的格式要和scanf函数的格式一样,两个数据之间加空格或逗号,或者其他的字符