这回文的第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;
} 将字符串 str1 逆向赋值给 str2
比如 str1 = "FishC",str2 = "ChsiF"
字符串以空字符 '\0' 为结尾。
strcmp() 是 string.h 函数,用来比较两个字符串是否相等,相等返回 0,否则不相等(可能正整数,也可能是负数) 不是,我说的是它们在回文中的作用 猫喵鱼 发表于 2022-3-25 12:51
不是,我说的是它们在回文中的作用
抱歉兄弟,不是很明白你的问题? #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]