这道小题的解题过程,拜托大家。

来源:百度知道 编辑:UC知道 时间:2024/06/01 09:10:35
c语言的哈
#include <stdio.h>
viod fune(int *a,int b[]);
{ b[0]=*a + 6 }
main()
{
int a , b[5];
a=0; b[0]=3;
func(&a,b);
printf("%d/n",b[0]);
}
拜托了,我知道这道题答案是6,但弄不明白过程,在此请教大家

主函数中首先定义了整形变量a和数组b
然后进入到被调函数
a的值是0,
所以b[0]=0+6不过这个是在被调函数当中
影响不到主函数的输出
如果你那个自定义函数名没错的话
(究竟是func 还是 fune)
那么输出的结果应该是3.

#include <stdio.h>
void func(int *a,int b[])
{
b[0]=*a + 6 ;
}
main()
{
int a , b[5];
a=0; b[0]=3;
func(&a,b);
printf("%d\n",b[0]);
}
答案是6,因为调用函数的时候把指向数组第一个元素的指针传递过去,在func中做了修改。 通过指针是可以改变指向的值的。这和func(int *a,int b)不同。这样就是把b复制到形参里。不会影响main 中的值

过程楼上已经讲清楚了,但是 fune 函数体最后少了个";"!!!