经过下列的语句intja

经过下列语句int j,a[10],*p;定义后,下列语句合法的是() A .p=p+2 B .p=
经过下列语句int j,a[10],*p;定义后,下列语句合法的是()
A .p=p+2 B .p=a[5] c.p=a[2]+2 D.p=&(j+2)
请分别说出理由

第1个回答  2019-07-27
int j,a[10],*p;
相当于
int j;
int a[10];
int *p;
所以
A.p=p+2是合法的,是指针运算;不过p没有初始化,其值不确定
B.p=a[5]不合法,a[5]是值不是指针,不能赋值给p
C.同B
D.不合法,(j+2)是表达式 ,不能取其地址
相似回答