在C中改变字符数组的单个字符

时间:2010-09-16 00:17:44

标签: c string

  

可能重复:
  Why does this Seg Fault?

你好,我有一个

char* str = "blah";

我现在想要将其中一个角色更改为其他角色,比如3号。我试图这样做:

str[2] = '3';

但是我在这行代码中遇到了一个seg错误。知道为什么吗?

1 个答案:

答案 0 :(得分:3)

这不是一系列字符。它是一个用字符串常量初始化的char的指针。字符串常量不能被修改,但如果你使它成为一个字符数组而不是一个字符指针,它将起作用。 e.g。

char str[] = "blah";
str[2] = '3';