#include "usefunc.h"
#define MY_SIZE 256
int inpArr(char tmp[], int size) {
size = -1;
while(1) {
size++;
if((tmp[size] = getchar()) == '\n') break;
}
return size;
}
void revString(char tmp[], int size, char new[]) {
int i, j;
for (i = size, j = 0; i >= 0; i--, j++) new[j] = tmp[i];
}
void copy_forw(char tmp[], int size, char new[], int offset) {
int i, j;
for (i = offset, j = 0; i <= size; i++, j++) new[j] = tmp[i];
}
void copy_back(char tmp[], int size, char new[], int offset) {
int i, j;
for (i = size-offset, j = size; i > -1; i--, j--) new[j] = tmp[i];
}
void cut(char tmp[], int size, char new[]) {
}
int main() {
char tmp[MY_SIZE] = {0x0}, rev[MY_SIZE] = {0x0}, new[MY_SIZE] = {0x0}, some[MY_SIZE-1];
int size = inpArr(tmp, size);
revString(tmp, size, rev);
copy_forw(rev, size, new, 1); copy_back(tmp, size, some, 1);
printf("|%s|\n|%s|\n", some, new);
int is_palindrome = StringEqual(new, some);
printf("%d\n", is_palindrome);
}
StringEqual幾乎是一個函數,它只是比較一個字符的字符數組。
如果我輸入字符串yay
它應該是迴文,但似乎不是。爲什麼是這樣?爲什麼字符串不相等?
嘗試先調試它,給我們提供錯誤或可能的最小代碼。不要使用pastebin,也不要在標題中包含任何標籤。這就是標籤的用途。 – 2011-05-15 05:21:20
沒有錯誤:只是輸出是意外的「綾」或什麼 – tekknolagi 2011-05-15 05:24:06
@tekknolagi:所以你得到綾而不是耶? – 2011-05-15 05:25:04