已有定义int a=5;int *p1 *p2且p1和p2均已指向变量a,下面不能正确赋值的是: A :a=*p1+*p2 B:p2=a c:p2=p1

D:a=*p1*(*p2)具体是怎么一回事呢!求赐教
2024-12-22 11:22:56
推荐回答(3个)
回答1:

答案:B
p2是一个指针变量,后面必须将一个地址赋给它,而a是一个普通的整型变量,故赋值有误
A)p1是一个指针变量,在使用时,指针变量前面加上星号*,代表该指针变量所指向的内容。故此选项是将p1和p2所指的内容相加,再赋给a,即a=10
C)指针可以赋值给指针,即执行完p2=p,之后,p2不再指向a,而是指向p所指的内容
D)同选项A,加法运算换成乘法运算,相当于a=25

回答2:

没有错误选项,都能正确赋值,问题是所有选项最后都少了分号。

回答3:

选B:p2=a