因此,我製作了一個程序,我必須輸入一個單詞並顯示它是否是迴文(兩種方式相同的單詞)。Palindrome程序中的數組
#include <stdio.h>
#include <string.h>
int main(int argc, const char * argv[]){
char word;
int length, counter;
printf("Please enter a word: ");
scanf("%c", &word);
int flag = 1;
for (counter = 0; counter < length && flag; counter++) {
printf("%c\t %c", word[counter], word[length - counter])
if (word[counter] == word[length - counter - 1]){
flag = 0;
}
}
if (flag) {
printf("%c is a palindrome!", word);
}
else {
printf("%c is NOT a palindrome!", word);
}
}
我設置它,使它顯示每個字母並排。如果一封信不一樣,那麼該標誌被「拋出」(設置爲0),這將結束程序,並說:「單詞不是迴文。
我在表示word [counter]的部分發生錯誤,說它不是下標值。我能做些什麼來完成這項工作?還有什麼我做錯了嗎?
'炭字;'是char不陣列!!? –
'char word'說'word'是一個字符。 'char word []'將使單詞成爲'array'。 –
我會推薦'flag = 0; break;'而不是在'for'條件下測試。它讓讀者更容易閱讀你的代碼。已經指出你沒有正確使用字符數組。也不知道你爲什麼要打印'[counter]'和'[length-counter]',但與'[length-counter-1]'比較。當'counter == 0'時前者會超出範圍(因爲最後一個有效元素是'[length-1]'。 – Floris