栈可以通过一个下标进行读入和读出操作。栈是先进后出,后进先出。
#include<stdio.h> #include<string.h> int main(){ char s[1000],s2[1000]; int mid,top=0,len; gets(s); len=strlen(s); mid=len/2; for(int i=0;i<mid;i++) s2[++top]=s[i];//入栈 for(int j=(len%2==0?mid:mid+1);j<len;){//出栈 if(s[j++]!=s2[top]){ printf("No."); break; } top--;//top--单独拿出来是为了防止只有两位的情况 } if(top==0) printf("Yes."); return 0; }