strings.push_back(j);
std::sort(strings.begin(),strings.end());
這個循環有很多問題
首先,妳的局部變量char j聲明之後沒有初始化,那麽它的值是隨機的,直接調用會產生不可預測的後果。
其次,妳的程序要讀入i個字符串後輸出,但是妳的程序中根本沒有出現任何讀入字符串的語句,而且妳試圖將壹個字符插入到壹個字符串型的向量中
最後,規範起見,妳的程序末尾應該return 0
另外,妳的程序目的貌似是要輸入i個字符串然後按照字典序輸出,但是妳的這段代碼總是輸出當前向量中字典序最末的那個字符串
比如妳的輸入如果是
3
z
a
aaa
那麽妳的程序會輸出3個z而不是a aaa z
不過不太清楚妳的程序的具體目的,所以這個就不作修改了
修改如下
#include <iostream>
#include <vector>
int main(){
std::cout<<"How many words will be input?\n";
int i;
std::cin>>i;
std::cout<<"There are"<< i <<"words will be input.\n";
std::vector<std::string> strings;
std::cout<<"Please type in"<< i <<"words"<<'\n';
for(char j=0; i != strings.size(); std::cout<<strings[j]<<","){
std::string str;
std::cin>>str;
strings.push_back(str);
std::sort(strings.begin(),strings.end());
}
return 0;
}