2015-10-13 85 views
1

我試圖在由char *表示的句子中將大寫更改爲小寫。 我得到一個錯誤:當我使指針解引用時出現訪問衝突。字符指針取消引用

// Uppercase to lowercase 
char *str = "My sentence"; 
*str = 'm'; 

回答

0

原因是您使用了錯誤的格式來定義字符串。你想:

char str[] = "My Sentence"; 
*str = 'm'; 

什麼你寫定義了一個指針,然後「我句」分配給指針的內存地址。您正在收到訪問衝突,因爲您沒有在「My Sente」擁有內存,而這很可能是被引用的地址。