设有定义: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是这样理解的么?
人气:331 ℃ 时间: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,则不正确的语句为(
- 数列2,3,8,29,()
- He will have his car repaired next week.求翻译
- 设a∈R,若函数y=eax+3x,x∈R有大于零的极值点,则( ) A.a>-3 B.a<-3 C.a>-13 D.a<-13
猜你喜欢