猫喵鱼 发表于 2022-3-25 12:14:40

这回文的第10 11和13看不懂,求大神帮帮

#include<stdio.h>
#include<string.h>
int main()
{
    char str1,str2;
    gets(str1);
    int i;
    for(i=0;i<strlen(str1);i++)   //
               
        {
                str2=str1;
      str2='\0';
        }
    printf("%s\n",strcmp(str1,str2)?"不是回文":"是回文");
   
        return 0;
}

傻眼貓咪 发表于 2022-3-25 12:37:13

将字符串 str1 逆向赋值给 str2
比如 str1 = "FishC",str2 = "ChsiF"
字符串以空字符 '\0' 为结尾。
strcmp() 是 string.h 函数,用来比较两个字符串是否相等,相等返回 0,否则不相等(可能正整数,也可能是负数)

猫喵鱼 发表于 2022-3-25 12:51:56

不是,我说的是它们在回文中的作用

傻眼貓咪 发表于 2022-3-25 13:08:15

猫喵鱼 发表于 2022-3-25 12:51
不是,我说的是它们在回文中的作用

抱歉兄弟,不是很明白你的问题?

大马强 发表于 2022-3-25 17:17:49

#include<stdio.h>
#include<string.h>
int main()
{
    char str1,str2;
    gets(str1);
    int i;
    for(i=0;i<strlen(str1);i++)   //
      str2=str1;
                /* 把str1第一位字符放到str2最后一位
                   把str1第二位字符放到str2倒数第二位
                   ...
                   把str1最后一位字符放到str2第一位
                   实现了 str2是 str1的翻转
                   strlen(str1)保证了 str2和str1等长
                */
    str2='\0';   // 最后一位加个结束符
    printf("%s\n",strcmp(str1,str2)?"不是回文":"是回文");
    // 【条件】?【语句1】:【语句2】,当条件成立执行语句1,反之执行语句2
        // strcmp(str1,str2) 比较字符串,只有它们相等返回的是0,即条件为假 =>是回文
   
      return 0;
}
页: [1]
查看完整版本: 这回文的第10 11和13看不懂,求大神帮帮