我想将apple中第三个字母的值更改为“a”。 使用间接这种方式给我一个编译器错误说: 一元'*'的无效类型参数(有'int')
#include<stdio.h>
int main(){
char c[6]="apple";
*c[2]="a";
return 0;
}
答案 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;
其中任何一个都可以工作..