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());结果会是什么?为什么??
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.