回文かどうかを判断するプログラムを作りたいのですが、思い通りに動作しなくて困っています。何度も考えたのですが、なぜできないのかわかりませんでした。もしよろしければ、間違いを訂正、指摘していただけると助かります。よろしくお願いします。
#include <stdio.h> int main(void){ int i=0, j=0, count=0, x=0; char s[256], t[256]; printf("単語を入力: "); scanf("%s", s); while(s[i++]!='\0'){ count++; } printf("count=%d\n", count); while(count != 0){ t[j] = s[count-1]; count--; j++; } for(i=0; i<count-1; i++){ if(s[i]==t[i]) x=1; else x=0; } printf("x=%d\n", x); if(x==1){ printf("原文: %s, 回文: %s\n", s, t); } else printf("回文ではありません\n"); return 0; }
実行結果
単語を入力: aba count=3 x=0 回文ではありません