早教吧 育儿知识 作业答案 考试题库 百科 知识分享

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

题目详情
经过下列语句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)
请分别说出理由
▼优质解答
答案和解析
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)是表达式 ,不能取其地址