2017-02-26 39 views
-5
void mult(int number2, int argc, char** argv) 
{ 
    for (int i = 4; i < argc; i++) { 
     double number3 = atof(argv[i]); 
     double number2 = number2 * number3; 
     cout << number2 << endl; 
    } 
} 

我輸入C++非常陌生號碼

./calc1 * 1 2 4 5 6 

,當我運行這個程序,輸出是:

2.07418e-317 
4.14837e-317 
1.65935e-316 
8.29674e-316 
4.97804e-315 

我使用gedit中。

+0

'double number2 = number2 * number3;'錯字,RHS上的第一個數字應該是'number3'。 –

回答

1
double number2 = number2 * number3; 

需要用一定的參考價值初始化number2否則它包含這是越來越乘以number3

分裂上面的語句改成兩個語句

double number2 = /*some value to initialize number2*/; 
number2 *= number3; //now perform multiplication 

另外一個垃圾值,number2被傳遞以函數mult作爲參數,並且您還在mult裏聲明一個具有相同名稱number2的新變量fun ction。

+0

對不起這是我的錯誤,我用int number1 = 1調用這個函數; mult(number1,argc,argv); –