先说思路:
1、首先是用户输入一个字符串
2、具体也不知道多长,普通变量接不了,用数组肯定方便很多
3、判断是与否的问题用bool最为合适
4、size_t(可以搜一下专门用来计算长度的整型)
5、用循环先计算长度(未知长度用while会更好)
6、再接着判断首位与末位是否相同,这里再说一下while遇到'\0'才会停止,'\0'也计入了
7、所以要长度-1才是末位
8、在循环中,柿子要挑软的捏,有两个位置不同就不是回文串
#include <stdio.h>
#include <stdbool.h>
bool is_str(const char* str)
{
size_t len = 0;
while(str[len]) len++;
for(int i=0; i<len/2; i++)
{
if(str[i] != str[len-1-i])
return false;
}
return true;
}
int main(int argc,const char* argv[])
{
char str[256] = {};
scanf("%s",str);
printf("%s\n",is_str(str)?"Yes":"No");
}