C语言一道题
#include<stdio.h>voidf(int*q){inti=0;for(;i<5;i++)(*q)++;}main(){inta[5]={1,2,3,4,5},...
#include <stdio.h>
void f(int *q)
{int i=0;
for(;i<5;i++)
(*q)++;
}
main()
{int a[5]={1,2,3,4,5},i;
f(a);
for(i=0;i<5;i++)
printf("%d",a[i]);
}
为什么f(a)是指f(a[0])的值 详细解释一下!
我是指a[0]为什么是6 而a[1],a[2],a[3]a[4]是定义数组时的值没有变。 展开
void f(int *q)
{int i=0;
for(;i<5;i++)
(*q)++;
}
main()
{int a[5]={1,2,3,4,5},i;
f(a);
for(i=0;i<5;i++)
printf("%d",a[i]);
}
为什么f(a)是指f(a[0])的值 详细解释一下!
我是指a[0]为什么是6 而a[1],a[2],a[3]a[4]是定义数组时的值没有变。 展开
6个回答
2011-02-23
展开全部
数组a的首地址就是a[0]的地址
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数组名本身是一个指针常量(地址),指向a[0],所以a=&a[0]。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数组名就是指针
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a 数组么 默认从a[0]开始的 之后i++ 数组也就在移动了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a是一个数组名,而*a呢就代表a[0],在子函数f()中,其中(*q)++就是a[0]++ !不知道这样说,你懂没有,还有什么不懂就再问吧!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询