指针问题不太懂求看看。

  • char a []=" House ",* p =" Horse "; p [2]= a [2];
  • char a []=" House ",* p =" Horse "; a [2]= [2]这两个哪个对错?

下面那个是a[2] = p[2]吧,如果是的话下面的是对的。上面那个p指向了常量,不能修改p[2]的值

a[2]= [2]错误,这行代码意思是给a的索引2赋值,因为a是char类型,所以赋值应该是char,可以写成a[2]= '2';

两个都有问题
/usercode/file.cpp: In function 'int main()':
/usercode/file.cpp:4:25: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

char *p//这是字符指针,赋值为字符串会出现不匹配。
char *p = a;//应该让字符指针指向字符数组的首地址
```c
a [2]= [2]//这句本身存在语法问题;

```

第一个的问题
定义了p为char型指针变量,且初始化p指向了常量字符串,因为不能改变常量的值,所以p[2] = a[2] ;//错误。

第二个的问题
a[2] = [2] ; //错误
a[2] = p[2]; //正确