66问答网
所有问题
求解此C语言题目 谢谢大家 高分悬赏 要分析过程
已有C语句“int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;”,下列数组元素引用错误
的是
A.a[p-a] B.*(&a[2])
C.p[2] D.*(*(a+2))
举报该问题
推荐答案 2013-03-26
首先将*p定义为指向a的指针,那么指向第一个元素0。
对A:a[p-a],a代表数组的首地址,和p相同,所以相当于a[0],正确
对B;a[2]是第三个元素,先对其取地址,然后再用*求地址里的内容,结果仍为a[2],正确
C:p[2],其实就是相当于P向右移动两位,指向第三个元素。正确
D:(a+2),此时是第三个元素的地址。然后*(a+2),此时即可引用第一个元素。再加一个*显然是多余。。。
所以答案是D
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://66.wendadaohang.com/zd/spspvsvix.html
其他回答
第1个回答 2013-03-26
ABC都可以
D错误
A是说先求p的指针在a后多少个位置,事实上是0,所以输出是a[0]
B是说取a[2]的位置,再取这个位置上的内容,事实上就是a[2]
C是说从p指的位置向后两个位置(p也是整型的指针),也就是a[2]
D是说a向后两个位置,这个位置上的内容作为指针,所以指针指向的是2,所以2的位置上是保护区域……所以是不对的,而且int不能做指针的结果
第2个回答 2013-03-26
答案为D p是地址 a是数组的首地址 A答案 表示的是a[0] B 答案 表示的是先取a[2]的地址 然后再通过a[2]的地址去取出地址空间中的数据 也就是a[2]的值 C p[2]是a 向右移动两个等于a[2] D 答案 *(a+2)表示的是a[2]的内容 再加个星号 就不对了 望采纳 纯手打本回答被提问者采纳
第3个回答 2013-03-26
A是对的,p和a储存的都是地址,两个相同的地址做减法结果就是0.也就是a[0]了。
B是对的,&a[2]先去a数组第三个元素的地址,再用* 取地址所存的内容。
C是对的,P[2]代表*(p+2),就跟a[2]一个意思。
D是错的。。。吧。。*(a+2)也就是a[2],再用个*号是神马意思啊,。。。
第4个回答 2013-03-26
D是错的,题目上定义了*p=a,那么
选项A实际上就是a[0];
选项B是选取a[2]地址,再得到a[2]也就是2;
选项C还是a[2];
1
2
下一页
相似回答
求高手解答一些简单的
C语言题目
!(
高分悬赏
)
答:
1、Before GlobalPlusPlus(), it is 1 Before ++, it is 1 After ++, it is 2 After GlobalPlusPlus(), it is 2 2、over!3、(1)printf("Input a year:");scanf("%d",&year);(2)(0==year%4 && 0!=year%100) || 0==year%400 4、(1)s[i]!='\0'(2)s[j]=s[i];5...
高分悬赏
3题简单
C语言
编程题
答:
int chType(char
c
){ if(c>='A'&&c<='Z'||c>='a'&&c<='z') return 0;//字母 if(c>='0'&&c<='9') return 1;//数字 if(c!=' '&&c!='\t'&&c!='\r'&&c!='\n'&&c!='\b') return 2;//其它 return 3;//空白符 } int main(int argc,char*argv[]){ char ...
2道
c语言题过程求解
,答案已给出,
高分悬赏
!
答:
第一道,循环俩次,加俩个一,数组值都为零,所以等于二,第二道,每次循环都是后一个数减前一个,循环四次,所以是四个一
高分
求
C语言
全面基础题(选择/填空/补充语言/编程题)。
答:
C 语言
过关测试题 一、顺序结构 1、请编写一个程序,求一个正方的周长。2、请编写一个程序,求一个长方形的周长。3、请编写一个程序,求一个三角形的周长。4、请编写一个程序,从键盘输入两个整数,要求求和然后输出和。例如: 输入 1 4 输出 5 5、要求从键盘输入一个三位数,要求百位变十位...
3道
C语言题目
,
高分悬赏
求代码
答:
第一题:#include<stdio.h>void main()[double money = 10000;double profit = 0.003;for(int i = 1;i <= 5;i++){money = money = money * profit;}printf("本金是%d\n",money);printf("学习
C语言
可以+qq52757731");}第二题:#include<stdio.h>void main(){int age = 10;for...
C语言
编程(
高分悬赏
)
答:
结果根据a[10]随机变化而变化 // av+=a[i]; 此为求累加和
过程
,变量未初始化 // printf("av=%f\n",av); 整个过程未除10求平均值 av=0;for(i=0 ;i<n; i++)av+=a[i];printf("\n\nav=%f\n",av/n);} 如果我这个是错的,我马上从大学退学!!!
大家正在搜
c语言编程题经典题目
c语言程序设计必考题目
C语言经典题目
C语言经典编程题
c语言简单题目
c语言基础题目
做c语言题目的网站
c语言题目及答案
c语言循环结构基础题目
相关问题
2道c语言题过程求解,答案已给出,高分悬赏!
【c语言共同体】一道题目,不会做,求解答。高分悬赏。谢谢
高分悬赏求解C语言难题
3道C语言题目,高分悬赏求代码
一道c语言的题,高分悬赏(最好有注释)
【c语言共同体】求解。高分悬赏,求大神解答,题目见下
C语言基础N多题~~~~~~~高分悬赏
【高分悬赏】C语言作业 求大神解答