yihayoooooo 发表于 2020-7-7 08:38:44

数组

void sum(int a[])
{a=a[-1]+a; }
main()
{int a={1,2,3,4,5,6,7,8,9,10};
sum (&a);
printf ("%d\n",a);
}

请问程序运行后结果是什么 为什么 谢谢啦!

小甲鱼的铁粉 发表于 2020-7-7 08:46:24

本帖最后由 小甲鱼的铁粉 于 2020-7-7 08:48 编辑

答案是6
sum (&a);
这个&a是把a的地址传进sum()函数,也就是说sum()函数里面的a实际上是数组a[]里面的a
{a=a[-1]+a;
所以这一句如果在主函数实际上意义就是a = a + a

小甲鱼的铁粉 发表于 2020-7-7 08:47:50

小甲鱼的铁粉 发表于 2020-7-7 08:46
答案是2

这个&a是把a的地址传进sum()函数,也就是说sum()函数里面的a实际上是数组a[]里面的a

答案是6,打错了,答案是6,答案是6{:10_297:}

wp231957 发表于 2020-7-7 08:53:43

这代码写的还是找本好的书好好看看吧

小甲鱼的铁粉 发表于 2020-7-7 09:32:34

小甲鱼的铁粉 发表于 2020-7-7 08:46
答案是6

这个&a是把a的地址传进sum()函数,也就是说sum()函数里面的a实际上是数组a[]里面的a

如果解决了,不要忘记设置最佳哦

405794672 发表于 2020-7-7 16:09:16

a[-1]居然不报错?

小甲鱼的铁粉 发表于 2020-7-7 20:49:09

405794672 发表于 2020-7-7 16:09
a[-1]居然不报错?

嗯,主要是a[-1]表示的是a的
页: [1]
查看完整版本: 数组