我想在C上做一些真正基本的事情,但是我一直在收到段錯誤。我想要做的就是用一個不同的字母替換一個字母的字母 - 在這個例子中,用l代替l。任何人都可以幫助解釋我出錯的地方嗎?這應該是一個非常基本的問題,我想我不知道爲什麼它不起作用。替換字符串中的單個字符元素C
#include<stdio.h>
#include<stdlib.h>
int main(int argc, char *argv[])
{
char *string1;
string1 = "hello";
printf("string1 %s\n", string1);
printf("string1[2] %c\n", string1[2]);
string1[2] = 'L';
printf("string1 %s\n", string1);
return 0;
}
對於我的輸出我得到
字符串1個招呼
字符串1 [2]升
分段故障
謝謝!
String1是一個指向只讀內存的指針(在大多數系統中),因爲它是一個常量初始化程序。如果不先複製,則無法寫入該字符串。 – gaige 2013-04-16 01:45:57