Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 打印字符串数组的第一个/最后一个元素时出现问题_C++_Arrays_String_Getline - Fatal编程技术网

C++ 打印字符串数组的第一个/最后一个元素时出现问题

C++ 打印字符串数组的第一个/最后一个元素时出现问题,c++,arrays,string,getline,C++,Arrays,String,Getline,只是想知道是否有人能帮我解决这个问题,这个程序总是因为某种原因而崩溃,我不知道为什么。我对C++还是新的,是的, 它应该做什么: 创建一个包含5个可能元素的字符串数组 从用户处获取5个姓名(名字和姓氏) 打印字符串数组的第一个和最后一个元素 创建一个字符串并让用户为该字符串指定一个句子 打印(4)中的字符串 步骤4、5很简单,但我真的不知道如何显示步骤3中字符串的最后一个元素 int x; string n1,n2,n3,n4,n5,user; string array[5]={n1,n2,n3

只是想知道是否有人能帮我解决这个问题,这个程序总是因为某种原因而崩溃,我不知道为什么。我对C++还是新的,是的,

它应该做什么:

  • 创建一个包含5个可能元素的字符串数组
  • 从用户处获取5个姓名(名字和姓氏)
  • 打印字符串数组的第一个和最后一个元素
  • 创建一个字符串并让用户为该字符串指定一个句子
  • 打印(4)中的字符串
  • 步骤4、5很简单,但我真的不知道如何显示步骤3中字符串的最后一个元素

    int x;
    string n1,n2,n3,n4,n5,user;
    string array[5]={n1,n2,n3,n4,n5};
    
    cout<<"Enter 5 names: "<<endl;
    
    getline(cin,n1);
    getline(cin,n2);
    getline(cin,n3);
    getline(cin,n4);
    getline(cin,n5);
    
    cout<<endl;
    
    for(x=0;x<5;x++)
    {
        int y=array[x].length();
        cout<<array[x].substr(0,1)<<"\t"<<array[x].substr(y,1)<<endl;
    }
    
    cout<<endl;
    cout<<"Enter sentence for string: "<<endl;
    getline(cin,user);
    cout<<user<<endl;
    
    system("pause");
    return 0;
    
    intx;
    字符串n1、n2、n3、n4、n5、用户;
    字符串数组[5]={n1,n2,n3,n4,n5};
    
    cout与say java不同,下面创建了std::string的5个不同副本。因此,分配给n1不会影响数组[0]

     string n1,n2,n3,n4,n5,user;
     string array[5]={n1,n2,n3,n4,n5};
    
    做你所追求的事情的“正确”方式是

    std::vector<std::string> array(5);
    
    std::cout << "Enter 5 names: " << std::endl;
    
    for(std::size_t x=0;x<array.size();x++) {
        std::getline(std::cin, array[i]);
    } 
    
    std::向量数组(5); 标准::cout