visual c++的問題

2007-03-21 6:19 am
//vc 204.cpp
//算數運算符號練習
#include<iostream.h>
#include<float.h>
int main( )
{
int a=2,b=3,c=5;
int x=b*b-4*a*c;
float y=b/a;
cout<<"a="<<a<<endl
<<"b="<<b<<endl
<<"c="<<c<<endl
<<"b*b-4*a*c="<<x<<endl
<<"b/a="<<y<<endl
<<endl;
return 0;
}
那裡有問題啊??
為什麼compile都沒有問題啊!!
linking也沒問題啊!!
為什麼execute出來的y=1而不是=1.5呢??
不解???
煩請各位先知代為解答!!
感激不盡!!!
PS:因為排版問題 ,所以沒辦法像應用軟體上那樣。

回答 (2)

2007-03-21 11:15 am
✔ 最佳答案
b / a 當 b 除以 a 時,求出的商將會以 b 的資料型態為基準。
b 是 int 型態,商就是 int 型態。
b 是 float 型態,商就是 float 型態。以此類推。
所以你的 b 是 int 型態,求出來的商就是 int 型態,
那麼即使你宣告 y 是 float 而顯示出來的值也只能是 int 型態,
因為你的寫法只不過是把商值複製給 y 而已。

2007-03-21 03:16:35 補充:
換句話說,只要改 b 的型態為 float 即可。
2007-03-21 6:34 am
把 int 都改成 float 就會好


收錄日期: 2021-04-27 17:13:58
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20070320000010KK10479

檢視 Wayback Machine 備份