这里的问题是(我相信)你希望result
传递给函数的参数改变值.这不是C是如何工作的,而不是所有的参数传递由值和变量result
调用的函数里面是具有无连接的局部变量result
调用函数变量.更改一个变量不会影响另一个变量.
而是使用函数返回的值:
result = connection(num1, num2, result);
当然,这意味着result
作为一个参数传递是完全没有意义的,你甚至不需要它在函数中:
int connection(int num1, int num2) { return num1 + num2; }
另请注意,我更改了返回类型,因为添加两个整数永远不会产生浮点数.
修改参数的旁注意味着你必须通过引用传递它,C不支持它.虽然可以通过使用指针来模拟它:
void connection(int num1, int num2, int *result) { *result = num1 + num2; }
然后称之为
int result; connection(num1, num2, &result);