我写了下面的代码。问题是这样的:在我从输入流中读取x
和y
之后没有问题 - 平均x
和y
是输入的确切值 - 但后来他们改变其他一些价值。
问题是什么?我无法理解!!
int count(char s[], char ss[] , long long int posF, long long int posE){}
int main()
{
char s[]{};
int q = 0;
cin >> s;
cin >> q;
int choise = 0;
while(q--)
{
cin>>choise;
if(choise == 1)
{
int x = 0;
cin>>x;
char c;
cin>>c;
s[x-1] = c;
}
else if(choise == 2)
{
int x = 0;
int y = 0;
cin>>x>>y;
//Fist LOG
cout<<"First log x and y are correct "<<x<<" "<<y<<endl;
char ss[]{};
cin>>ss;
//Second LOG
cout<<"Second log x and y are wrong?Why?"<<x<<" "<<y;
cout<<count(s, ss, x-1, y-1)<<endl;
}
}
return 0;
}
答案 0 :(得分:1)
正如另一个所说,你的代码问题是char ss[]{};cin>>ss;
所以如果你评论你是否理解它
所以我的建议是使用字符串而不是char [],你可以使用cin<<
作为字符串,你可以使用[] operator e.x
string s = "Code";
cout<<s[0];
和M.r @Ron是正确的,最好阅读This Books