如何在C中重新分配char数组元素的值

时间:2014-02-26 15:17:45

标签: c pointers gcc

我想将apple中第三个字母的值更改为“a”。 使用间接这种方式给我一个编译器错误说: 一元'*'的无效类型参数(有'int')

#include<stdio.h>
int main(){
char c[6]="apple";
*c[2]="a";
return 0;
}

4 个答案:

答案 0 :(得分:6)

您应该使用以下内容:

c[2]='a';

在C和C ++中"x"是一种const char [2]。要指定字符,您需要使用'x'类型的const char

答案 1 :(得分:2)

双引号创建以空值终止的字符串。

相反,您需要一个单引号字符,它只是一个char值:

c[2]='a';  // Now your string is "apale"

答案 2 :(得分:2)

而是尝试

 *(c+2)='a'

您应该了解更多关于指针在c中的工作原理。

答案 3 :(得分:0)

您可以使用

C [2] =&#39;一个&#39;

OR

*(C + 2)=&#39;一个&#39;

其中任何一个都可以工作..