- 375
- 0
- 约9.44千字
- 约 12页
- 2018-03-09 发布于湖北
- 举报
六、指针_选择题(答案)
六、指针
下程序的运行结果是( A )。
void ast (int x,int y,int *cp,int *dp)
{ *cp=x+y; *dp=x-y;
}
main()
{ int a=4,b=3,c,d;
ast(a,b,c,d);
printf(%d,%d\n,c,d);
}
7,1
1,7
7,-1
c、d未赋值,编译出错
执行 ast(a,b,c,d);调用ast 函数,把a传递给x,b传递给y,c的地址传递给cp,d的地址传递给dp.
因为cp=c(cp的值为c变量的地址),所以*cp等价于c,
执行*cp=x+y ;后c=4+3=7
同理,因为dp=d,所以*dp等价于d,
执行*dp=x-y;后d=4-3=1
执行 printf(%d,%d\n,c,d);后输出7,1
有以下语句:
int a[5]={0,1,2,3,4,5},i;
int *p=a;
设0≤i<5,对a数组元素不正确的引用是( C )。
*(a[i])
a[p-a]
*(*(a+i))
p[i]
1.指针运算符
取地址运算符:其功能是取变量的地址。
2.取内容运算符*:用来表示指针变量所指的变量。在*运算符之后跟的变量必须是指针变量。
A . *(a[i]) 等价于a[i]
B. a[p-a]等价于a[0]
C. 因为*(a+i)
原创力文档

文档评论(0)