设有定义: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是这样理解的么?
人气:329 ℃ 时间: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,则不正确的语句为(
- 多酚氧化酶与邻苯二酚反应成什么颜色/
- 轴承厂生产一个轴承平均用3分之1小时,比过去少用5分钟,节约时间百分之几?
- 一个无盖的底面是正方形的长方体玻璃水槽中存了一些水,水面高度正好是水槽内部高度的十分之九.小明将一块体积为0.8立方分米的铁块放入水中,经测量发现水面上升了2厘米,水槽正好装满.制作这个玻璃水槽需要多少玻璃?(玻璃厚度和接口忽略不计)
猜你喜欢