C语言实现两个数交换 ,帮我修改下,谢谢
答案:6 悬赏:70
解决时间 2021-02-18 00:50
- 提问者网友:紫柔同归
- 2021-02-17 16:33
#include
int main(void)
{
int x = 5, y = 9;
x = x + y;
y = x - y;
y = y - x;(有错的)
printf("x=%d, y=%d\n", x, y);
return 0;
}
最佳答案
- 二级知识专家网友:留下所有热言
- 2021-02-17 18:03
两个量的值交换?可以设定一个临时值进行转换。
int x,y,z;
x=5;y=9;
z=x;(Z没有定值,现在赋X值给Z)
x=y;(把Y值给X)
y=z;(Z值给Y)
printf("x=%d, y=%d\n", x, y);
前后省略。
int x,y,z;
x=5;y=9;
z=x;(Z没有定值,现在赋X值给Z)
x=y;(把Y值给X)
y=z;(Z值给Y)
printf("x=%d, y=%d\n", x, y);
前后省略。
全部回答
- 1楼网友:24K纯糖
- 2021-02-17 21:12
y = y - x;(有错的)
改成
x-=y; //没错的
- 2楼网友:转身后的回眸
- 2021-02-17 20:25
现在,x=5, y=9. 如果是实现这两个数的交换的话。。你在定义一个c变量。
int c ;
c=x;
x=y;
y=c:
..就可以了。。。
- 3楼网友:放肆的依賴
- 2021-02-17 18:55
x = x + y;//此时x的值 是两个数的总和
y = x - y;//y = 5;
x = x - y;//x = 9;
- 4楼网友:安稳不如野
- 2021-02-17 18:47
将y=y-x;改为
x=x-y;
很明显,这个语句之前,已经将x的值给y了,下面有错那句应该,应该是通过x-y(注意这里的x是之前的x 和y之和)给x 赋值
- 5楼网友:怪咖小青年
- 2021-02-17 18:37
你用加法减法隐含地使用了缓存----“累加寄存器”了,
所以,不用缓存是不可能的。
两碗水不用第三个容器你能交换吗?
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯