2017-03-15 6 views
-2
#include <iostream> 
int name; 

int main(int argc, const char * argv[]) { 
    std::cout << "What's Your Name?"<< std::endl; 
    std::cin >> name; 
    std::string text = "Hi "; 
    std::cout << text << name << std::endl ; 
    return 0; 
} 

それだけ出力:入力した名前を自分のコードにプリントアウトするには?

あなたのお名前は何ですか?

キング

こんにちは0

プログラムが終了コードで終了しました:あなたはintとしてnameを宣言した、まだ文字列を格納しようとしている0

+0

入力操作の戻り値の確認に失敗しました。 –

+3

名前を整数として格納していますか?うーん... –

+0

どうすればいいですか? –

答えて

0

。修正することで問題を修正する必要があります。

#include <iostream> 
std::string name; 

int main(int argc, const char * argv[]) { 
    std::cout << "What's Your Name?"<< std::endl; 
    std::cin >> name; 
    std::string text = "Hi "; 
    std::cout << text << name << std::endl ; 
    return 0; 
} 
1

このコードの2つの問題があります。

まずは、あなただけの数字ではなく文字列値を格納するために使用される整数値としてnameを宣言しました。あなたがにnameの定義を変更する必要があります。第二

std::string name; 

、あなたは文字列のヘッダファイルが含まれていません。

#include <string> 

もう一つ:ヘッダファイルをインクルードしますが、グローバル変数として変数nameを定義している理由は?間違っているわけではありませんが、使用されているスコープで変数を宣言することをお勧めします。ここにはmain()の機能の中で使用されています。

+0

この回答のダウンボッターは、ダウンボートの正当な理由を提供しますか?それに応じて私の答えを修正することができます。ありがとう。 –

+0

私は1つではありませんが、私はそうだと思います Slava

+0

@Slavaそれを指摘してくれてありがとう!私の部分に愚かなタイプミス:) –

関連する問題