#include <stdio.h>
#include <string.h>
char fun(char *p)
{
int L=strlen(p)-1;
char *q=p+L;
while (p<q)
{
if ((*p++) != (*q--))
return 0;
}
return 1;
}
void main()
{
char str1[]="acba";
int i=fun(str1);
printf("%d \n",i);
}
第五行不知道是什么意思,愿听大佬讲解这是什么操作
(如果身边把其他每行也解释一下就更好了,我还是个)
用debug显示此时的*q=a
char *q=p+L;表示定义一个指针,指向字符串最后一个元素的地址;
程序功能是判断一个字符串是否是回文数
第五行是指:int L=strlen(p)-1;?
char是字符型变量的声明方式,严格来说是它其实也是整数类型(integer type),因为 char 类型储存的实际上是整数,而不是字符,计算机使用特定的整数编码来表示特定的字符,所以它+整数之后还是整数,但代表的却是另一个字符,如果是一个字符串+整数=一个新的字符串