fun(int a, int b, int c)
{ c = a * b; }
int main(void)
{
int c;
fun(2, 3, c);
printf(“%d\n”, c);
return 0;
}
改成这样,你这个明显是错误写法,你int类型的c连初值都没有,怎么能当参数,同时你的fun函数并未返回a*b的值,只是在函数内部计算了。
int fun(int a, int b)
{ int c;
c = a * b;
return c;
}
int main(void)
{
int c;
c=fun(2, 3);
printf(“%d\n”, c);
return 0;
}
或者用地址传参
#include <stdio.h>
fun(int a, int b, int* c)
{ *c = a * b; }
int main(void)
{
int c=0;
fun(2, 3, &c);
printf("%d\n", c);
return 0;
}
有帮助的话采纳一下哦!
其中一个逻辑错误是 函数调用不会改变形参的值 需要传指针地址