指针问题那个是正确的啊

  • char a ]=" House ",* p =" Horse "; p = a +3;
  • char a ]=" House ",* p =" Horse "; a= p+3;
    哪个对?

前者对,后者char a[]一旦定义就不能改变,相当于一个字串常量
而后都p只是指针发生变化,指向a首地址后的3个位置:

测试如下:

#include<iostream>
using namespace std;
int main()
{
    char a[]="House";
    const char *p="Horse";
    cout<< a << endl; //Horse
    cout<< p << endl; //Horse
    cout<< *p << endl; //H
    p = a + 3;
    cout<< p << endl; //se
    cout<< *p << endl; //s
    
    return 0;
}

可以查看手册:c语言-指针 中的内容