这个没看太懂,谁能给解释下这句?
// 2.定义一个指向变量right指向字符串的末字符
char *right = str + strlen(str) - 1;
这个具体是怎么变化的?我现在看的就是str+5-1 这是什么组合?
/*
编写一个函数,判断某个字符串是否为回文。
回文就是从左边开始读 和 从右边开始读 都是一样的,比如"abcba"
*/
#include <string.h>
#include <stdio.h>
int isHuiwen(char *str);
int main()
{
printf("%d\n", isHuiwen("abcba"));
return 0;
}
/*
返回1代表是回文
返回0代表不是回文
*/
int isHuiwen(char *str)
{
// 1.定义一个指向变量left指向字符串的首字符
char *left = str;
// 2.定义一个指向变量right指向字符串的末字符
char *right = str + strlen(str) - 1;
while (left < right)
{
// 如果左边和右边的字符不一样
if (*left++ != *right--)
{
return 0;
}
}
return 1;
} |
|