原题是#include<stdio.h>
void fun(int x,int y,int z)
{
z=x*x+y*y;
}
int main()
{
int a=31;
fun(5,2,a);
printf("%d",a);
return 0;
}
有人说是因为是void,没有返回值,所以a算出来还是31而不是29.
我改了下
#include<stdio.h>
int fun(int x,int y,int z)
{
z=x*x+y*y;
return z;
}
int main()
{
int a=31;
fun(5,2,a);
printf("%d",a);
return 0;
}
但是还是得到31.
既然fun有返回值了,为啥a还是等于31而不是29呢?
求解释,感激不尽!
fun(int x,int y,int z){ z=x*x+y*y;}main( ){ int a=31;fun(5,2,a...
输出31 fun函数为值传递,不改变a的值
fun(int x,int y,int z){z=x*x+y*y;}main(){int a=31;fun(5,2,a);p...
也可以通过指针所指来修改地址值 也就是 void fun (int ,int int * )
void fun(intx,inty,intz) {printf("fun-in:%d,%d,%d\\n",x,y,z...
(int x,int y,int z)都是传值调用. 不管fun中怎么修改, 不影响主函数值.调用的时候, 注意顺序, 对于fun x=30 y=20 z=10. 和主函数的xyz是不一样的.先输出fun-in fun-in:30,20,10然后 y=x+5; y=35 z=x+y; z=30+35=65 x=z-y; x=65-35=30 输出 fun-end:30,35,65...
...=x-y; printf("%d,%d,",x,y); } main() {int x=2,y=3; fun(x,y...
main是主函数,所以程序先从main函数执行。main函数中,调用fun(x,y);x,y是形参,值分别为2,3.转入执行fun()函数,x,y被重新赋值了,x=2+3=5,y=5-3=2,x=5-2=3 接着输出xy的值,所以为3,2。因为x,y不是地址传递,所以在main函数中的x,y没有变化 所以main函数中输出的值为...
c语言fun(int x,int y)
如 int fun(int x,int y) \/\/即fun函数是个执行两个int型数据加法运算的动作 { return x+y;} void main(){ cout<<fun(1,19)<<endl;\/\/用1和19这两个int型的数据来执行这个fun的加法运算 }
C语言 请问下面程序中,fun是什么意思
3,a这三个参数分别传给x,y,z 求出z的值后返回z的值,也可以这样写 fun (int x, int y, int z){ z=x * x + y * y;return z;} main(){ int a=38;fun(7,3,a);printf(“%d”,a);} fun 是自定义的一个函数名,没有设么特别的意思,你也可以把他定义成其他的名称 ...
...=x-y; printf("%d,%d,",x,y); } main() {int x=2,y=3; fun(x,y...
void fun(int x,int y)\/\/ 由于这里传入参数不是指针,引用,所以这里x,y只是main函数中x,y值的一个拷贝,所以修改后不会对main中x,y的值有影响。{x=x+y;y=x-y;x=x-y;printf("%d,%d,",x,y);} \/\/ 这里输出:3,2,main(){ int x=2,y=3;fun(x,y);\/ printf("%d,%d\\n"...
...fun(int x,int y); {int z; z=x+y; return z;}B.fun(int x,y_百 ...
选C.AB返回值和函数定义不一致,D的int x,y定义不能在fun()和{}中间
大家考试小心陷阱!
不是没用到,这个fun函数确实是返回了个值29.。。。不过由于函数调用采用的值传递方式,所以变量a的值是31。。。如果函数变为fun(int x,int y,int &z)结果就是29
C语言大师帮忙,在线等
int k=0 while(k=1)k++;while 循环执行的次数是 A A) 无限次 B) 有语法错,不能执行 C) 一次也不执行 D) 执行1次 15、以下程序的输出结果是 fun(int x, int y, int z){ z=x*x+y*y; } main(){ int a=31;fun(5,2,a);printf(“%d”,a); C } A) 0 B) 29 ...