Advertisement

C语言之判断字符串是否为回文

阅读量:

/编写一个函数,判断字符串是否为回文。所谓回文指顺读和逆读都一样的字符串。
例如:"level","ABCCBA"
/

顺读和逆读:

1.即数组第i个元素和第(len-i)个元素相同(len为数组的长度)

2.比较至len/2即可

指针与数组:

1.p=a;等价于p=&a[0]

2.arr[2] <==> *(arr+2) <==> *(p+2) <==> *(2+p) <==> *(2+arr) == 2[arr]

3.p[i]等价于a[i]

ps:代码也可以在Gitee(码云)C语言指针: 日常练习 上查看哦

如有错误,请指点出来,谢谢
表情包

复制代码
 /*编写一个函数,判断字符串是否为回文。所谓回文指顺读和逆读都一样的字符串。

    
 例如:"level","ABCCBA"*/ 
    
 #include<stdio.h>
    
 #include<string.h>
    
 void same(char* p,int len)
    
 {
    
 	int t=0;
    
 	for(int i=0,j=len-i;i<len/2;i++)
    
 	{
    
 		if(p[i]==p[len-i-1])
    
 		{
    
 			t++;
    
 		}
    
 	}
    
 	printf("%4d",t);
    
 	printf("\n");
    
 	if(t==len/2||t==(len+1)/2)
    
 	{
    
 		printf("yes.");
    
 	}
    
 	
    
 }
    
 int main()
    
 {
    
 	char a[18];
    
 	gets(a);
    
 	int len =strlen(a);
    
 	same(a,len);
    
 	return 0;
    
 }
    
    
    
    


全部评论 (0)

还没有任何评论哟~