2017-06-10 14 views
-10

私は出力が70だろうと思った? (20 + 20 + 20 + 10 = 70)なぜそれは大きいのですか?どうしたのですか? C++初心者ここに

#include <iostream> 
using namespace std; 
int main() 
{ 
    int a,b,c=20; 
    int d=10; 
    int sum = a+b+c+d; 
    cout << sum; 
    return 0; 
} 
+0

画像としてのポストコードはありません。 (P.S:aとbの値はユニット化されていますが、得られる結果はランダムです) – Borgleader

+1

わかりません?? –

+2

あなたは 'a'と' b'に値を与えませんでした。画像だけでなく、質問にコードを投稿してください。 – Galik

答えて

0

Cあなたは20に初期化する唯一の変数、他の2つの変数 (B)を保持しているごみ..ある

あなたの数学計算は未定義の動作です。

3

問題は、変数aとbを初期化していないことです。つまり、プログラムを実行しようとすると、コンピュータはメモリ内でそれぞれに使用する値を探しており、その数は非常に大きくても非常に少なくてもかまいません。これを試してみてください:

#include <iostream> 
using namespace std; 
int main() 
{ 
    int a = 20,b = 20,c=20; //here, a and b are defined 
    int d=10; 
    int sum = a+b+c+d; 
    cout << sum; 
    return 0; 
} 
関連する問題