0
我想在內存引用傳遞到一個字符的字符串,並使用C的代碼是在下面的函數編輯編輯特定的字符:通行證和串
void EditChar(char *input) {
printf("# %s #",*input);
*input = *input << 1
}
int main() {
char *string ="aaaa";
EditChar(&string[2]);
printf("%s",string);
}
我可以打印我認爲功能正常的字符必須意味着它跟隨指針,爲什麼我無法編輯該字符的指針位置,任何想法?
可能是因爲當你編寫一個像''aaaa''這樣的**字符串**時,這四個字母被放在計算機內存的一個只讀數據段中。他們是'const',你不能改變他們。 – librik
你的代碼不應該被編譯(當然不是沒有警告),因爲你沒有向EditChar()傳遞'bit'。你也不使用這個變量,但是兩個錯誤並不是真正的正確。 –
哎呀對不起,意味着從函數中刪除該變量,這是我打算使用的東西,一旦我確定這是正常工作,你們中的任何一個知道如何編輯字符串的值,如果它是常量。我只使用字符串aaaa在它的工作時測試函數字符串將是從文件讀入的變量 – user1044220