第 7 章 指针
多项选择题
1. 给定定义:int n1=0,n2,*p=&n2,*q=&n1;,下面的赋值语句等价于n2=n1; 陈述:
A)*p=*q;B)p=q;C)*p=&n1;D)p=*qy);
14. 运行下列程序的结果是_____
A) 6 3B) 3 6C) 编译错误D) 0 0
无效乐趣(int *a,int *b)
{ int *k;
k=a; a=b; b=k;
主要的()
{ int a=3, b=6, *x=&a, *y=&b;
乐趣(x,y);
(“%d %d”,a,b);
15. 如果定义了以下函数:
无效f(……)
{……
*p=( *)( 10*( ));
……
p 是函数的形式参数。 需要将动态分配的存储单元的地址通过p传回调用函数。 形式参数 p 的正确定义应该是
A) *pB) 浮动 **pC) **pD) 浮动 *p
16. 以下语句不是对数组 a 元素的正确引用,其中 0≤iint a[10]={0,1,2,3,4,5,6,7,8,9}, *p =a;
A) a[pa]B) *(&a[i])C) p[i]D) *(*(a+i))
17、如有下列定义和表述:
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
那么不能表示数组元素的表达式是____
A) *pB) a[10]C) *aD) a[pa]
18.有以下程序段
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;
b=p[5];
b 中的值为 ____
A) 5B) 6C) 8D) 9
19、调用函数时,实参是数组名,传递给函数的是____
A) 数组的长度 B) 数组的首地址
C) 数组每个元素的地址 D) 数组每个元素的值
20.如果有定义:int aa[8];。 那么下面不能表示数组元素aa[1]地址的表达式是_____
A) &aa[0]+1B) &aa[1]C) &aa[0]++D) aa+1
21. 阅读以下函数
乐趣(字符* sl,字符* s2)
{ int i = 0;
while(sl[i]==s2[i]&&s2[i]!='\0') i++;
(sl[i]=='\0'&&s2[i]=='\0');
这个函数的作用是。
A) 将s2指向的字符串赋值给s1
B) 比较 s1 和 s2 所指向的字符串的大小。 如果s1大于s2,则函数值为1,否则函数值为0
C) 比较s1和s2指向的字符串是否相等。 如果相等,则函数值为1,否则函数值为0。
D) 比较 s1 和 s2 所指向的字符串的长度。 如果s1比s2长,则函数值为1,否则函数值为0。
22. 下列选项中,不能正确赋值的是___