C语言程序求教程序运行结果

static int a[10]={1,2,3,4,5,6,7,8,9,0},*p=a;
main()
{
static int a[10];
int i;
for(i=0,p=a;i<10;i++)
sub(p++);
for(i=0,p=a;i<10;i++)
printf(" %d",*p);
}
sub(int *a)
{
*a+=2;
}
===C语言程序求教程序运行结果

1个回答

main()中使用的是内部定义的数组a,不是外部的a

 #include <stdio.h>

static int a[10]={1,2,3,4,5,6,7,8,9,0},*p=a;
void sub(int *a)
{
    *a+=2;
}

void main()
{
    static int a[10];//数组各元素初始化为0
    int i;
    for(i=0,p=a;i<10;i++)
        sub(p++);//在sub函数中a数组各元素被加2
    for(i=0,p=a;i<10;i++)
        printf(" %d",*p);//输出a数组各个元素,均为2
}

qq_27183003
ysuwood 没关系,两个不同的数组
接近 5 年之前 回复
u013421512
coco1312 求教大侠程序最开头的static int a[10]={1,2,3,4,5,6,7,8,9,0},*p=a;---这句对main函数里的static int a[10];//数组各元素初始化为0==这个没有关系吗?
接近 5 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐