c语言编程问题,下面的程序输出结果是多少?

2024-11-01 08:39:20
推荐回答(3个)
回答1:

是 0246802468
调用fun1()使得全局数组a值为{0,2,4,6,8}

调用fun3()输出全局数组a的值:02468
调用fun2()对全局数组a没有影响;
再次调用fun3(),又输出一次全局数组a的值:02468

回答2:

以下是答案:
整理后的代码:(望采纳)
#define MAX 5

int a[MAX],k;
int main()
{

fun1();//使数组每个成员值分别为0,2,4,6,8()
fun3(); //输出数组a的成员:02468
fun2(); //这句不能影响数组a的值,所以没啥用
fun3();//再次输出数组a的值:02468(两次输出结果连起来就是0246802468)//望采纳
printf("\n");
}
fun1()//这个函数的功能就是,将数组a的每个元素的=当前k的值+k,所以数组a的成员值分别为0,2,4,6,8,因为k第一次循环是0,0+0=0,第二次是1,1+1=2,以此类推
{
for(k=0;k a[k]=k+k;
}

fun2()//在这个函数里,这里又新定义了一个数组a,所以这个函数不能音响原有的数组a的值,所以原本的数组a的值还是0,2,4,6,8
{ int a[MAX],k;
for(k=0;k<5;k++)
a[k]=k;
}
fun3()
{
int k;
for(k=0;kprintf("%d",*(a+k));
}

回答3:

0246801234