2.有以下程序
main()
{ int a; char c=10;
float f=100.0; double x;
a = f /= c *= (x=6.5);
printf("%d %d %3.1f %3.1f\n",a, c, f, x);
}
程序运行后的输出结果是: ( )
A)1 65 1 6.5 B)1 65 1.5 6.5
C)1 65 1.0 6.5 D)2 65 1.5 6.5
%3.1f 题目中的这个是什么意思
追答%m.n,用于控制浮点数的输出格式,m是数据的宽度,n是保留小数点的位数。
%3.1的意思,数据宽度必须是3位,不足三位的必须在前面补空格,1就是说明浮点数的小数点后面有1位;
楼主可以自己写程序体验下这两个值带来的不同效果,印象会深刻一些。
我只能采纳一个,你的解答对我很有帮助,谢谢!
还有个问题%3.1f 是什么意思? printf("%d %d %3.1f %3.1f\n",a, c, f, x); 这句能帮我详细解答下吗? a, c, f, x 之间有逗号 为什么答案中没有逗号隔开
追答%3.1的意思,这个数宽度给的是3位,1就是小数点后面1位;
a,c,f,x这个之间的逗号是规定,要想答案之间有逗号要这样写"%d ,%d, %3.1f, %3.1f\n"
,答案就会有逗号
%d是int型的输出,%f是float型的输出,%lf是double型的输出。
望采纳!
我补充下,不好意思,已经补充了答案,
追答直接把答案给你吧,要输出的是:6(空格)65(空格)1.5(空格)6.5
追问不是吧,答案是ABCD中的一个啊,题目没问题,能说下解题思路吗,我看不太懂
追答看错了..应该选B.
追问恩恩,是选B,可以告诉我怎么解答这题吗,我看不太懂,这个星期要考试了,我在研究老师给的题型,
追答/=,*=这类运算符就是先把它右边的值算出来,然后按照前面的符号去决定给左边的变量的值.然后%3.1f是说明输出的这个小数只输出一个小数位,而整数部分要占3位.比如说要输出的变量值是2.3,因为2.3的2不足3位,所以要补2个空格.