搜索
查看: 3230|回复: 10
打印 上一主题 下一主题

求大神解脱!

[复制链接]
跳转到指定楼层
楼主
发表于 2012-7-5 12:33:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1啊哈币
#include <stdio.h>
int main()
{
int a,b;
    scanf("%d %d",&a,&b);
    a=b-a;
    b=b-a;
    a=b+a;
    printf("%d%d",a,b);
    sleep(8000);
return 0;
}


这段是怎么实现 输入的两个数字在输出的时候是颠倒的   那段a=b-a .... 是什么意思  看半天没明白。。

最佳答案

查看完整内容

c语言是顺序执行的 ,先执行(1)a=b-a;然后将(2)b=b-a中的a换成前面的那个a值就是b=b-(b-a)=a;(3)a=a+b中的a也是前面(1)的值也就是b-a,b是(2)的值也就是a;然后代入(3)即a=b-a+a=b; 实现2个数顺序互换
沙发
发表于 2012-7-5 12:33:27 | 只看该作者
c语言是顺序执行的 ,先执行(1)a=b-a;然后将(2)b=b-a中的a换成前面的那个a值就是b=b-(b-a)=a;(3)a=a+b中的a也是前面(1)的值也就是b-a,b是(2)的值也就是a;然后代入(3)即a=b-a+a=b;
实现2个数顺序互换

评分

参与人数 1啊哈币 +10 收起 理由
admin + 10 很给力!

查看全部评分

板凳
 楼主| 发表于 2012-7-5 14:38:55 | 只看该作者
ahac_wuleicity 发表于 2012-7-5 12:33
c语言是顺序执行的 ,先执行(1)a=b-a;然后将(2)b=b-a中的a换成前面的那个a值就是b=b-(b-a)=a;(3) ...

十分感谢! 凑够10个字~
地板
发表于 2012-7-9 15:10:25 | 只看该作者
[img][/img]
5#
发表于 2012-7-9 15:11:26 | 只看该作者
6#
发表于 2012-7-9 15:12:29 | 只看该作者
[img=45tyr4,4][/img]
7#
发表于 2012-7-9 15:13:00 | 只看该作者
[img=1111111,2205641]DFGRTYHTY[/img]
8#
发表于 2012-7-9 15:13:25 | 只看该作者
9#
发表于 2012-7-9 15:13:53 | 只看该作者
10#
发表于 2012-7-9 15:14:13 | 只看该作者
11#
发表于 2012-7-9 15:15:30 | 只看该作者
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表