c语言回文数字符串求解

img


为什么输入后没有得到输出?

img


就像这样,能告诉我下这是哪一部出错了吗,谢谢

你把n初始化一下 int n = 100;未初始化的变量的值都是未知的,假如是0的话n就没分配空间,后面打印的是str所指的那块区域第一个字节是 '\0'的话就不会打印出任何东西来

建议指定字符数组的长度,并且在后面求出字符串长度

#include<stdio.h>
#include<string.h>
int main()
{
    int n,left=0,right;
    char str[100];
    printf("请输入一段字母:\n");
    scanf("%s",str);
    n=strlen(str);
    right=n-1;
    for(;left<right;left++,right--)
    {
        if(str[left]!=str[right])
            break;
    }
    if(left<right)
        printf("%s不是回文数",str);
    else
        printf("%s是回文数",str);
    return 0;
}