我創建了這個代碼,但它不能很好地工作:倒車字符串 - 輸出跳過最後一個字符
#include <stdio.h>
#define MAXLINE 5
main()
{
char arr[MAXLINE] = {'a','b','c','d','e'};
int i;
for(i = MAXLINE; i > 0; i--){
printf("%c", arr[i]);
}
}
這是輸出:
edcb
我不知道爲什麼它在字符'e'之前打印一個空白,並且它不打印字符'a'。
而且如果我寫的代碼,這樣它完美的作品(我不知道爲什麼):
#include <stdio.h>
#define MAXLINE 5
main()
{
char arr[MAXLINE] = {'a','b','c','d','e'};
int i;
for(i = MAXLINE-1; i > -1; i--){
printf("%c", arr[i]);
}
}
有人能幫助我嗎?謝謝 !
C中的索引從0開始到MAXLINE-1結束(在你的情況下)。 – usr2564301
在第一個代碼中,你只需要改變'i = MAXLINE; i> 0'到'i = MAXLINE-1; i> = 0'因爲你想去0而不是1。 –