C语言:写出程序运行结果并解释为什么

#include <stdio.h> #include <stdlib.h> int main() { int a,b,c; float d=15,e,f; a=35%7; b=15/10; c=b++; e=15/10; f=d/10; printf("%d,%d,%d,%f,%f,%f",a,b,c,d,e,f); return 0; }

#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b,c;
float d=15,e,f;
a=35%7; //余数是0 ,所以a是0
b=15/10; //整数除法不要小数部分,所以 b是1
c=b++; //后置++做完之后 c是 1 ,b是2
e=15/10; //虽然e是浮点数,但是赋值在后,所以e是1.0,不是1.5
f=d/10; //因为d是浮点数,所以做了实数除法,所以f是 1.5
printf("%d,%d,%d,%f,%f,%f",a,b,c,d,e,f);
return 0;
}
因此结果是:0,2,1,15.0, 1.0,1.5
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-11-04
a=0
b=1,15、10都是整型数,相除的话,只取整数部分,即1.5就取1,然后赋值给b
c=2
e=1,同b,因为除出来的结果是1,赋值给double也是1。。
f=1.5,因为d是double型的,除以10得到的是double型1.5,赋值给f就是1、5了
精度问题你自己实验一下吧。。。
第2个回答  2020-05-18
结果如图:
float
d=
15;浮点d
=
15.000000
a
=
0
:
35
取余
7
等于0
b
=
15/10
:15整除10等于1
c
=
b++
:
这句b++后加,所以c
=
1,b
=
2;
e
=
15/10
:因为15

10都是整数,15/10整除后结果为1,强转为浮点数1.000000
f
=
d/10
因为d为15.000000
除以10浮点除法f
=
1.5000000
相似回答