首页 > 试题广场 >

int function(int a, int b, int

[单选题]
int function(int a, int b, int c) {
    c =  a * b;
}
int main(void) {
    int c = 0;
    function(10,20, c);
    printf("%d", c);
}
上面代码的输出为()
  • 200
  • 100
  • 20
  • 0
printf 放在函数体里面打印出的就是200,函数体的c与那个C不大一样,主本与副本的关系

发表于 2021-10-20 09:42:16 回复(0)
眼瞎
发表于 2019-07-22 22:15:14 回复(0)
因为没有传入c的地址,因此实际上函数运行时用的是c的副本,而不是真的c
发表于 2020-01-06 22:51:39 回复(0)
函数方法无返回值,一般会报错
发表于 2019-09-23 20:01:37 回复(0)
这里考的是形参和实参的关系。函数调用中,实参把数据传给形参,此后形参跟实参就没关系了。函数里的c是function的内部变量,跟main那个c无关系。另外,function没有返回值,应该return 0;如果需要function的c传出来,只需要定义形参的时候int &c。这样main的c地址就跟function的c一样。
发表于 2022-01-08 19:57:32 回复(0)
值传递,不改变main函数中c的值,还是0
发表于 2019-08-16 15:47:27 回复(0)
值传递只是拷贝值本身
发表于 2021-12-03 09:01:32 回复(0)
水题:
传值问题,传指针,引用,值,
前2者可以修改原值,后者只是函数体局部变量不会修改原值,并且没有返回
综上述所,C是没有改变,原值=0

-----D
发表于 2019-10-07 15:08:57 回复(0)
参数传递时,传递的是其副本,本身并不改变。传入其引用时,才意味着传递本身。
发表于 2019-08-31 17:07:53 回复(0)
我是鲨臂
编辑于 2024-04-01 00:12:57 回复(0)
大佬们,
function(10,20, c); 怎样把这个函数里c 的值传出来?
发表于 2020-03-21 22:56:03 回复(4)
W: 在 'function()' : non-void 的返回类型,
编辑于 2024-01-16 23:41:03 回复(0)
大意了,没有闪
发表于 2022-12-28 16:00:39 回复(0)
值传递的应用
发表于 2022-10-17 23:27:54 回复(0)
值传递不改变值
发表于 2022-10-10 16:32:40 回复(0)
值传递不改变实参
发表于 2022-08-18 21:08:09 回复(0)
要使用地址传递或者引用传递才能改变 真的c 的值
发表于 2022-04-12 16:42:00 回复(0)
function没有返回值,所以在下面的函数中引用的时候,参数传不出来
发表于 2021-12-20 13:34:53 回复(0)
最近是不是有bug啊,我每次第一题都做了,然后点下一题,第一题选项又给我重置了
发表于 2021-08-05 18:44:26 回复(0)
是因为main函数中的c是局部函数,而调用函数c是全局函数,所以只用了局部函数c的值

发表于 2021-07-16 16:25:26 回复(0)