#include <iostream>
#include <string>
void reverse(char*);
void reverse(char* str)
{
char * end = str;
char tmp;
if (str) {
while (*end) {
++end;
}
}
--end;
while (str < end) {
tmp = *str;
*str++ = *end;
*end-- = tmp;
}
}
int main {
char * string;
string = "Hello";
reverse(string);
std::cout << string;
return 0;
}
你好。我試圖測試這個簡單的函數,並得到錯誤「期望在'char'之前的主要表達式在我聲明變量字符串作爲字符指針的行。請原諒我是新手,可能會犯更多錯誤。謝謝你的幫助!期待'char'之前的主表達式
您還沒有列入main'的'定義括號和參數。 – Jon
你也有未定義的行爲:雖然C允許將一個文字字符串分配給一個'char *' - 你不能修改它。您需要分配一個緩衝區(在堆棧或免費存儲區)並將文字複製到它,然後才能安全地修改它。在某些體系結構中,由於文字通常位於只讀存儲器中,因此可能會遇到訪問衝突。 –