C语言求解过程??

#include<stdio.h>voidmain(){intx=2,y=3,z=0;printf(“x=%dy=%dz=%d\n”,x,y,z);add(x,y,z);... #include<stdio.h>
void main()
{ int x=2,y=3,z=0;
printf(“x=%d y=%d z=%d\n”,x,y,z);
add(x,y,z);
printf(“x=%d y=%d z=%d\n”,x,y,z);
}
add(int x,int y, int z)
{ z=x+y; x=x*x; y=y*y;
printf(“x=%d y=%d z=%d\n”,x,y,z);

运行结果为什么,求解释
展开
 我来答
阳光上的桥
2014-06-19 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21424 获赞数:65786
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部
输出内容如下:
x=2 y=3 z=0
x=4 y=9 z=5
x=2 y=3 z=0

第一行是原样输出三个变量的值,第二行是函数里面输出的修改后的值,但是因为函数对局部变量的修改不影响主函数,所以第三行输出的还是原始值。
追问
第三行不理解,为什么不是经过z=x+y;   x=x*x;   y=y*y运算后输出的
追答
函数里面对参数执行的任何修改,函数结束后就作废,先这样理解,以后学了指针和地址后再纠正。
左眼想要哭
2014-06-19 · 超过76用户采纳过TA的回答
知道小有建树答主
回答量:217
采纳率:75%
帮助的人:67.4万
展开全部
输出结果x=4,y=9,z=5//x= 2*2=4,y=3*3=9,z=2+3=5
什么为什么。。。相当于一下 代码,从上到下按顺序走。
#include<stdio.h>
void main()
{ int x=2,y=3,z=0;
printf(“x=%d y=%d z=%d\n”,x,y,z);
z=x+y;
x=x*x;
y=y*y;
printf(“x=%d y=%d z=%d\n”,x,y,z);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
灰机55473
2014-06-19 · 超过56用户采纳过TA的回答
知道答主
回答量:139
采纳率:100%
帮助的人:112万
展开全部
冒泡排序,改成这样应该好理解一点
for(i=0;i<10;i++){ for(j=i+1;j<10;j++) { p=i;q=a[i]; for(j=i+1;j<10;j++) { if(q<a[j]) { p=j;q=a[j]; } } } if(p!=i) { s=a[i]; a[i]=a[p]; a[p]=s; } printf("%d",a[i]);}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式