當前位置:成語大全網 - 新華字典 - 壹個C++小問題

壹個C++小問題

for(char j; i != strings.size(); std::cout<<strings[j]<<","){

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;

}