金泰妍护肤方法:c语言 会c的来哈3

来源:百度文库 编辑:高校问答 时间:2024/04/28 07:33:15
已有定义:int i,a[10],*p;,则合法的赋值语句是
A)p=100; B)p=a[5]; C)p=a[2]+2; D)p=a+2;
谁能说明一下个行的意思
说的越详细越好

选D
int i,a[10],*p
表明定义 i为整形变量
数组a[0..10]为整形变量
指针p为整形指针
这里 a由于是数组名 p为指针名 所以代表的都是内存地址
D的选项代表把数组a的地址加上2的这个地址 赋值给指针p 使得指针p指向这个地址

选项A p为指针 不能将一个常数赋值给它
选项b p为指针 a[5]代表一个整形变量 不能赋值
选项c p为指针 a[2]代表一个整形变量 再加上2还是一个整形数 不能赋值

d
p是个指针,数组名是个指针常量,所以可以赋值