我試圖扭轉一個字符串(的char
陣列),但得到這個錯誤:扭轉在C字符串W/O使用`reverseStr()`
error: 'for' loop initial declarations are only allowed in C99 mode
可能有人請幫助我,告訴我的代碼有什麼問題?
#include <stdio.h>
#include <stdlib.h>
int main()
{
char myString[] = "My name is Blalalalala";
char reversedString[] = "";
int count = 0;
for(int i = sizeof(myString) - 1; i >= 0; i--){
reversedString[count++] += myString;
}
for(int i = 0; i < sizeof(reversedString); i++){
printf("%c", reversedString[i]);
}
return 0;
}
數據聲明的arent允許在C89頭。修復或者指定-std = c99或者將i的數據類型聲明移出循環以獲得最大的可移植性 – amdixon
您正在訪問'reversedString'越界,並且您需要支持C99或更高版本的編譯器。 – juanchopanza
^這兩件事情都是真實的,需要在OP代碼中加以解決。將'reversedString'放入一個大小爲'myString'的緩衝區中,並在循環結構之外初始化'i'。 –