c+++++++ 题

来源:百度知道 编辑:UC知道 时间:2024/05/27 14:58:11
有如下函数定义:
void func(int x,int y ,int *z)
{*z=x+y;}
若要将变量a、b之和存入c中(均为整型),则调用语句应为( ) 。

func(a,b,&c); c=func(a,b);
*c=func(a,b,c) ; func(a,b,*c);

选哪个

选 A··明显&c是他自己的地址,传递的个数要和声明的一样。所以B错
要求传指针必需传指针,所以C错
C他自己的地址必需要这样写&c,要用指针必需重新定义一个指针变量*p.
要不就成重复定义C了

第一个是正确的,后三个调用格式就不对。
c=func(a,b);少一个参数,并且函数没有返回值,赋值给 c 是不可能的.
*c=func(a,b,c);实参c的形式是错误的,就是&c.函数func没有返回值,将其赋值给*c是错误的.

func(a,b,*c); 实参"*c"的写法就不对.应是&c.