0
我在此代码中收到了分段错误错误,但不知道为什么?修改字符串时出现分段错误
#include <stdio.h>
int main(void)
{
char *ptr = "Linux";
*ptr = 'T';
printf("\n [%s] \n", ptr);
return 0;
}
我在此代码中收到了分段错误错误,但不知道为什么?修改字符串时出现分段错误
#include <stdio.h>
int main(void)
{
char *ptr = "Linux";
*ptr = 'T';
printf("\n [%s] \n", ptr);
return 0;
}
该故障是
*ptr = 'T';
它应该是一个字符数组,而不是字符串。
ptr
是指向一个字符串的指针,但你不能修改一个字符串,将其更改为:
char ptr[] = "Linux";