程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> 編程-初學者關於C++的一個疑問

編程-初學者關於C++的一個疑問

編輯:編程綜合問答
初學者關於C++的一個疑問

今天在學校做上機課,編寫了一個輸入圓半徑然後計算圓的周長面積以及對應球體體積的小程序。本來只是小試牛刀,沒想到出了一個百思不得其解的問題,代碼如下:

#include <stdio.h>
#include <iomanip>
#include <iostream>

using namespace std;

int main()
{
    const double pi = 3.14;
    double r;
    double c;
    double s;
    double v;
    cout << "Please input a number to be the radius: ";
    cin >> r;
    c = 2 * pi * r;
    s = pi * r * r;
    v = 4 / 3 * pi * r * r * r; //注意此行
    cout << c << endl;
    cout << s << endl;
    cout << v << endl;
    system("pause");
    return 0;
}

此時輸出的v值似乎自動忽略了前面的 4/3……如果將4改成4.0或者3改成3.0則輸出正常!百思不得其解,求大神解答~~

最佳回答:


因為沒有給4和3數據類型,默認的4,3都是整形,所以相除的話,結果是1,1*任何數都是它本身,所以沒用
加上4.0,或者3.0以後表示把它強制轉換為浮點型,所以結果是小數

sinat_17087475
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved