2017-03-15 32 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

程序退出代码为结束:0

+0

您未能检查输入操作的返回值。 –

+3

将整个名称存储为整数?嗯... –

+0

我该如何存储它? –

回答

0

您已经声明name为int,但正试图存储的字符串。修复应该解决问题。

#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

这个答案的落后者是否会为downvote提供一个很好的理由?我可以相应地解决我的问题。谢谢。 –

+0

我不是那个,但我想那是因为 Slava

+0

@Slava谢谢你指出!我的部分愚蠢的错字错误:) –