我創建了一個程序,它接受一個輸入的字符串並向後輸出字符串。我創建了一個函數來計算字符串中的字符數。有了這些信息,我創建了另一個函數,將原始數組的第一個字符放在新數組的末尾。因此,當函數中的循環結束時,新數組包含原始數組的字母但向後。然而,我遇到了一些困難。我仍然對字符數組保持警惕,我不確定是否正確使用它們。有人可以幫我嗎?迴文項目
#include <stdio.h>
#define MAXLINE 1000
char backward(char str[], int count)
int count(char str[])
int main() {
char orig[MAXLINE];
int c;
scanf("%s", orig);
c = count(orig);
printf("%s", backward(orig, c));
return 0;
}
char backward(char str[], int count) {
char back[MAXLINE];
int i;
for(i = 0; i <= count; ++i) {
back[count] = str[i];
--count;
return back;
}
int count(char str[]) {
int i;
for (i = 0; str[i] != '\0'; ++i)
;
return i;
}
編輯:輸入:讓我們說「小貨車」。預期產出將是「navinim」。目前還沒有實際產出。我得到這個錯誤:
palindrome.c:8: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘int’
能否請您給這個程序的輸入,預期的輸出和實際輸出? – 2012-02-02 02:23:20
通過引用「&」來傳遞參數,並確保返回數組不僅僅是一個字符。先嚐試編譯。 – L7ColWinters 2012-02-02 02:26:39
在「落後」和「count」聲明後缺少分號(';')。 – 2012-02-02 02:28:58