Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/156.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++ 字符串回文在String.size()上给出错误答案,但在String.size()上给出正确答案-1_C++_String_C++11_Procedural Programming - Fatal编程技术网

C++ 字符串回文在String.size()上给出错误答案,但在String.size()上给出正确答案-1

C++ 字符串回文在String.size()上给出错误答案,但在String.size()上给出正确答案-1,c++,string,c++11,procedural-programming,C++,String,C++11,Procedural Programming,这是一个程序,它可以找到用户输入的字符串的倒数,并判断它是否是回文。。。。现在的问题是,当在for循环i initilize with size()-1中时,它正确地反转了字符串。。。但是当我用size()初始化时,它缺少一个字符。为什么会这样 //palindromee #include <iostream> using namespace std; int main() { string s; string s1; cout<<

这是一个程序,它可以找到用户输入的字符串的倒数,并判断它是否是回文。。。。现在的问题是,当在for循环i initilize with size()-1中时,它正确地反转了字符串。。。但是当我用size()初始化时,它缺少一个字符。为什么会这样

  //palindromee
  #include <iostream>
  using namespace std;
  int main()
  {
   string s;
   string s1;

   cout<<"Enter something:  ";
   cin>>s;
   s1.assign(s);
   int k=0;
   for(int i = s.size()-1  ; i>=0 ; i--)
           //why correct ans reversing on size()-1?
   {       // and wrong ans on size()
        s1[k]=s[i];
        k++;
   }
    cout<<"string s= "<<s;
    cout<<"\nstring s1= "<<s1<<'\n';
    int checker=s.compare(s1);
    if(checker == 0)
    {
        cout<<"\n\npalindrome";
    }
    else cout<<"\n NOT A PALINDROME";
   return 0;
//回文
#包括
使用名称空间std;
int main()
{
字符串s;
字符串s1;
沙发;
s1.转让;
int k=0;
对于(int i=s.size()-1;i>=0;i--)
//为什么要更改大小()-1?
{//大小()上的ans错误()
s1[k]=s[i];
k++;
}

CUT

这是因为C&C++数组索引是0的。对于字符串类来说也是如此,在这里使用[]操作符访问单个字符,索引是0。数组的长度(或者字符串的大小)这是因为C&C++数组索引是0的。对于字符串类,同样的情况下,使用[]操作符访问单个字符的索引是0的。数组的长度(或者字符串的大小)这是因为C&C++数组索引是0的。对于字符串类,同样的情况下,使用[]操作符访问单个字符的索引是0的。数组的长度(或者字符串的大小)是因为在C&C++数组索引中是0的。对于使用[]操作符访问单个字符的字符串类来说,索引是0的。字符串的长度(或者字符串的大小)总是在边界之外。“abc”

什么是
s.size()
?您如何访问
s
的最后一个字符?为什么不使用反向?如果您有
string s=“abc”
什么是
s.size()
?您如何访问
s
的最后一个字符?为什么不使用反向?如果您有
string s=“abc”
什么是
s.size()
?如何访问
s
的最后一个字符?为什么不使用reverse?如果您有
string s=“abc”
什么是
s.size()
?如何访问
s
的最后一个字符?