C++ 手动计算回文的字符数

C++ 手动计算回文的字符数,c++,palindrome,strlen,C++,Palindrome,Strlen,我目前有一个程序来检测输入的字符串是否是回文。我想避免使用strlen方法 int main () { char string[80]; bool Beginning; Beginning = true; while (Beginning) { cout << "\nEnter a string\n" << endl; cin.getline(string, 80); cout &

我目前有一个程序来检测输入的字符串是否是回文。我想避免使用strlen方法

    int main ()
    {
    char string[80];
    bool Beginning;

Beginning = true;

while (Beginning)
    {
    cout << "\nEnter a string\n" << endl;
        cin.getline(string, 80);
            cout << "\nYou entered: ";
                printf(string, 80);
                    cout << endl;
    if('E' == string[0])  
        {
        if('N' == string [1]) 
            {
            if('D' == string[2])
                break;
            }
         }

    int len=strlen(string);   //avoid this method

    bool flag = true;

for (int c=0; string[c]; c++)
{
    if (flag)
    {
    if(string[c] != string[len-c-1])
            {
            flag = false;
            }
    }
        else
            {
            break;
            }
    }

    if (flag)
    {
        printf ("\nThis is a Palindrome\n");
            Beginning = true;
            continue;
    }
else 
    {
    printf("\nThis is not a palindrome\n");
        Beginning = true;
            continue;
    }
cin.get();

    }
}
int main()
{
字符串[80];
布尔开始;
开始=正确;
虽然(开始)
{

如果我理解正确,您需要对
len

这将完成以下工作:

len =0;
while (string[++len] );
您只需检查null终止(因为您使用的是C字符串)


建议:<强>请不要混淆C+C++!

为什么你不使用斯特伦?这是一个家庭作业吗?是的,我不感到羞愧。哈哈,不用斯特伦实际上不是要求的一部分,而是他扔给我们的一个挑战,我们总是不想被交给ANS。嗯,我想知道它是如何工作的。我总是喜欢理解代码在做什么,而不是在不知道它是如何工作的情况下复制和粘贴别人的代码。这工作非常完美。我想我把它弄得比需要的更复杂。我已经理解了它是如何工作的,所以不需要要求解释。我很感激他一如既往地帮助我:)
len =0;
while (string[++len] );