99问答网
所有问题
c语言新手问题 数组问题
以下程序的输出结果是
main()
{
int a[]={1,2,3,4,5,6,7,8,9,10},
*P=a
printf("%d\n",*(p+2));
}
举报该问题
推荐答案 2012-02-23
程序有点问题,差个分号
int* p=a;
p先指向数组第1个空间
p+2后指向第3个空间
*(p+2)就是去第3个空间的值,结果为3
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://99.wendadaohang.com/zd/zOzBXWBXt.html
其他回答
第1个回答 2012-02-23
你说的不是很清楚,不过我猜你大概就是想知道输出结果是什么吧,还有为什么?
首先你的程序有一定错误,第二行应该为int *p=&a;定义个int指针指向a。数组名也就是个地址,所以p也指向了这个地址,并且数组第一个元素的地址就是数组名地址,后面的元素地址依次比前一个大1,所以p指向了第一个元素1,指针加法运算就是指针地址顺序移动n个地址,这里int类型平指针加2,就是p向后移动2个地址单元,就到指向了3.所以输出应该是3.
第2个回答 2012-02-23
p指向a[0]
p+2 指向a[2]
加*是取a[2]里面的值
输出3
相似回答
C语言数组问题
?
答:
您好,很高兴回答您的
问题
。通过阅读您的程序,我想出现错误的原因应该在char a[]={0}这句话,因为没有确定
数组
的长度,所以只能根据后面赋值的数据个数决定数组长度,但是恰好又只赋值了一个数,那么系统就会认定这个数组的长度为1。那么在后面将a[0]的地址赋值给指针变量b,因为a数组只有一个长度,...
c语言数组问题
答:
第8题:char str[8]={"Fujian"};,因为有一个8,不管str里面放什么,系统都保证且仅仅分配给str变量8个字节的存储空间。故选8。第9题:char有两种赋值方式,一种是以单个字符方式,如char y[]={'a','b','
c
','d','e','f','g'};,我们把y叫做"字符
数组
";还有一种是以字符串方式...
C语言
的
数组问题
{a[0]=a{1};} main() {int a[10]={10,9,8,7,6,5,4...
答:
这个函数的功能是将输入的指针所指向的后一个变量赋给指针指向的变量。第一个for循环,i为2满足条件,将a[3]赋值给a[2],
数组
变为{10,9,7,7,6,5,4,3,2,1},同理第二次循环数组变为{10,7,7,7,6,5,4,3,2,1},第三次为{7,7,7,7,6,5,4,3,2,1},运行此次循环后退出第一...
c语言数组问题
?
答:
int main(){ //定义两个字符
数组
char a[n];int b[n];int i,j,sum;//输入字符串ab12ed3ef gets(a);//过滤字符串的非数字,仅保留数字,存储到另一个字符数组中 //本题中,b数组最后结果是b[0]=1,b[1]=2,b[2]=3 for(i=0;i<n;i++){ if('0'<=a[i]<='9'){ b[...
C语言数组问题
答:
数组
a[5],意思是数组名为:a,数组中一共有5个元素。每个元素是从下标0开始,依次为:a[0]、a[1]、a[2]、a[3]、a[4],记住如果你声明了数组,比如:int a[5],那么你就不能操作a[5]=5 或者a[6]=12等等之类的。因为数组一共有5个元素,那么它的下标最多到a[4]=xx。如果你写:...
C语言数组问题
?
答:
你说的二维
数组
,要用weekday[i][j]来表示Sunday、Monday……到Saturday之间的每一天的星期名称。因为在
c语言中
,变量没有字符串类型,想存放一个字符串,就要用到一维字符数组。所以,有时候也把一维字符数组变量看成“字符串变量”。如声明char a[10];,则程序中可以用a(不带后面的中括号)指代a[...
C语言数组问题
答:
c[s[i]]++;当i=0时,s[i]相当于s[0],取数字其实是1,相当于c[1]++,这样
c数组
中的第一个元素就自然从0变为1 同理,当i=2时,s[2]的内容是2,相当于c[2]++,这样c数组中的第二个元素就自然从0变为1,这时统计1和2两个数字各出现过1次了。以此类推,i=3和i=4的时候,c[4...
C语言数组问题
答:
C语言数组
大小固定。但是C99标准里面允许定义变长数组。7、 以下程序的输出结果是___ 。(设a[0][0] 是数组a中的第1个元素)include <stdio.h> void main( ){int a[4][5]={1,2,3,4,5,-1,-2,-3,-4,-5,1,2,3,4,5};int i,j,i1,j1,n;n=-4;for(i=0;i<4;i++)...
c语言新手问题
数组问题
答:
程序有点
问题
,差个分号 int* p=a;p先指向
数组
第1个空间 p+2后指向第3个空间 (p+2)就是去第3个空间的值,结果为3
大家正在搜
c语言数组怎么用
数组排序c语言
c语言输入数组
c语言二维数组
c语言字符串数组
c语言中数组的定义
c语言数组定义和赋值
关于数组的问题
_____便于处理数组问题
相关问题
c语言 关于数组的问题
C语言数组问题
C语言问题,新手,请大神指导一下!关于数组
C语言数组问题
C语言编程,数组问题
c语言数组的问题
C语言新手 数组问题
c语言数组声明问题