设有定义:double x[1O],*p=x;以下能给数组x下标为6的元素读入数据的正确语句是
A.scanf("%f",&x[6]);
B.scanf("%lf",*(x+6));
C.scanf("%lf",p+6);
D.scanf("%lf",p[6]);
请看下我的理解是不是对的
A:题目中定义的是double.所以是%lf.所以错
B:*(x+6)等价于x[6],但是scanf读入的是赋值变量的地址,所以也错.
C:p+6是指向x[6]的地址.所以对
D:p是指针不是数组,所以不能写成p[6]
上面的D是这样理解的么?
人气:192 ℃ 时间:2019-10-18 02:14:41
解答
D不能这样理解.写法是合法的,只是p[6]是下标为6的元素,不是元素指针,要写成&p[6]就对了.所以错误.其他都分析得对.
推荐
- 设有定义:double x[10],*p=x;,以下能给数组x下标为6的元素读入数据的正确语句是
- 设有如下定义:double x[15] 则x数组元素下标为多少?
- 若有定义:double x[3][5]; 则x数组行下标的上限是__,列下标的下限是____求答案
- 假定一条定义语句为“int a[10],x,*pa=a;”.若要把数组a中下标为3的元素赋值给x,则正确的语句为()
- 32.假定一条定义语句为“int a[10],x,*p=a;”,若要把数组a中下标为3的元素值赋给x,则不正确的语句为(
- 一个圆和一个正方形的周长相等,已知圆的直径是8分米,求这个正方形面积.(方程) 急用!
- (10+10*2x)(2000+2000*x)=60000怎么解
- 中国地理差异化问题
猜你喜欢