所以,我试图进行转换(整数到字符串),然后添加此字符串 与另一个。但似乎stringstream不工作..(它正常工作,但循环导致麻烦) 我已经完成了谷歌 &安培;几乎尝试了一切,但不能让这个代码工作..任何人帮助我:(?
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main()
{
int n;
cin>>n;
string arr[n];
string a;
int i=0;
int s;
int c;
cin>>a;
arr[i] = a;
i++;
cout<<"OK"<<endl;
n--;
while(n--)
{
cin>>a;
s = 0;
for(int j=0;j<i;j++)
{
if(arr[j] == a)
{
s = 1;
break;
}
}
i++;
if(s == 0)
{
arr[i] = a;
cout<<"OK"<<endl;
}
else
{
c++;
stringstream ss;
ss<<c;
string m = ss.str();
a+=m;
arr[i] = a;
cout<<a<<endl;
ss.str("");
ss.clear();
}
}
return 0;
}
答案 0 :(得分:0)
c
未初始化,您应该初始化它,并且在使用之前也s
:
int s = 0;
int c = 0;
您不能使用非const变量进行数组初始化,请考虑编写:
constexpr int MAX_STRINGS = 5;
string arr[MAX_STRINGS];
循环问题在于:
i++
你在最后一个元素上越过边界。只需将i++
移至while
循环的末尾。