double 的问题!!!

来源:百度知道 编辑:UC知道 时间:2024/05/12 12:16:40
double d = 5;

d += 5/2;

d 的值是多少?为什么?

A,7 B,7.0 C,7.5
有没有兄弟 用 程序证明一下的!!!!

还有一个问题:

char * getString(){
return "123456";
}

然后在 代码中 执行 puts(getString());结果会是什么?为什么??

答案是B
d+=5/2,这句话中5/2结果是2,再加上5 因为d是double型所以结果等于7.0

答案是B。

有一条规则是这样的:如果双目运算符两边运算数的类型一致,则所得结果的类型与运算数的类型一致。

因为计算机认为5跟2是整型数,所以5/2的运算结果也应该是整型为2,d+=2的结果应该是7,又由于d是实型数,对计算机来说7.0才是实型数

所以最终答案应该是B 7.0。

这方面的问题你随便找一本c语言的书,仔细看看算数表达式那一块的内容就能清楚了。

7
因为5/2=2,而不是2.5。

7.0
5/2按照整型来算。

如果想得到7.5。d+=5.0/2.0;或者标记其中一个为浮点。

我觉得应该是
7。0

7.