问题 单项选择题

已有定义:int i,a[10],*p;,则合法的赋值语句是( )。

A.p=100;

B.p=a[5]

C.p=a[2]+2

D.p=a+2;

答案

参考答案:D

解析: 本题中定义了一个整型数组a和一个整型指针变量p。选项A中将一个整型数赋值给一个指针变量,C语言规定,只能将地址赋给指针变量,故选项A不正确。选项B中a[5]为一数组元素,同样不是一个地址,故选项B不正确。选项c中a[2]为一数组元素,同样是一个整型数据,不是个地址,故选项C不正确。数组名a代表数组首地址,首地址加2代表第3个元素的地址,将该地址赋值给指针变量,故选项D正确。所以,4个选项中选项D符合题意。

问答题
判断题