printf("fun-end:%d,%d,%d\n",x,y,z);
}
main()
{int x=10,y=20,z=30;
fun(z,y,x) printf("%d%d%d\n",x,y,z);
} 这道题怎么做啊,求帮助
å½æ°funçåæ°
(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åå°ä¸»å½æ°, xyzè¿æ¯åå§å¼, è¾åº
再请教一下,第一个为什么改变?
追答fun里面的参数是形参,在fun里面可以修改,但是修改不影响传入的原来的参数的值
本回答被提问者采纳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...