基础C语言问题。祝看到本贴的圣诞快乐

来源:百度知道 编辑:UC知道 时间:2024/06/24 06:28:29
6.有如下说明,则数值为5的表达式是( )
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
A)*(p+4) B)*p+5 C)*p+=5 D)p+4
7.00001111与00010010进行“&”运算的结果为:( d )
A)00000000 B)00010011 C)00010010 D)00000010
8.定义:int (*p)[4];说明了( )。
A)p是指向一维int数组的指针变量
B)p是指向int型数据的指针变量
C)p是指向函数的指针,该函数返回一个int型数据
D)p是一个函数名,该函数的返回值是指向int型数据的指针

我知道答案,想知道具体为什么。高手能不能帮我解答下!谢谢~~

6A,*p=a,即p=a,p是数组a的首地址,*p=1;*(p+4)=5,*p+5=1+5,*p+=5表示*(p=p+5),即是6,p+4是地址,不可知

7D,与运算无进位,只有1&1=1,其余都是0

8A,p是一个指针数组,指向一个指针序列的头指针

6题选A?
p+4是讲指针移向数组的第5个位置(默认在第一个位置所以是+4)
然后再与“*”结合 就是取这个位置的数据了 即“5”
7 是纯概念题 即高数中的“与”运算
8选A?
因为括号 决定 P先与*结合 得到一个指针 在与【4】结合 说明它是一个 指向4个元素的指针
我也是菜鸟 答案仅供参考 呵呵

A
D
A