我只需要用指針反轉我的char字符串。我怎樣才能做到這一點?我的代碼:帶指針的反向char字符串
// this cannot be modified !!!
char s[10] = "abcde";
char *pS;
// my code
pS = new char;
int count = 5;
for (int i = 0; i < 10; i++)
{
if (s[i] != '\0') // not null
{
pS[count - 1] = s[i];
count--;
}
}
cout << "Reversed = " << pS;
有時候,如果工作得很好,我看到的只有5個字符,它們是相反的。但有時我會看到一些額外的字符(看起來像是臨時符號)。我錯過了什麼?謝謝!
你不應該使用硬編碼的數字。使用strlen來查找長度。 – CreativeMind
'pS = new char;'爲_single_'char'分配空間,而不是數組。 –
你是否應該創建一個新的字符串或原來的位置?目前還不清楚「這是不能修改」的意思。 – molbdnilo