荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: bakey (sbb的猪), 信区: Program
标 题: [合集]小考题
发信站: 荔园晨风BBS站 (2005年12月07日21:56:58 星期三), 站内信件
☆ 1 ──────────── 我是分割线 ─────────────────☆
发信人: mmkiller (傢有小魔), 信区: Program
标 题: 小考题
时 间: 2005年12月03日13:31:53 星期六
题目: 函数实现交换两个int型变量的值
要求: 不定义任何中间变量
嗯~很老的了,以前有人说过。
☆ 2 ──────────── 我是分割线 ─────────────────☆
发信人: kaman (天外飞仙), 信区: Program
标 题: Re: 小考题
时 间: 2005年12月03日13:48:33 星期六
void swap(int *a,int *b)
{
*a=(*a+*b)-(*b=*a); //work in gcc and vc
}
【 在 mmkiller (傢有小魔) 的大作中提到: 】
: 题目: 函数实现交换两个int型变量的值
: 要求: 不定义任何中间变量
: 嗯~很老的了,以前有人说过。
☆ 3 ──────────── 我是分割线 ─────────────────☆
发信人: mmkiller (傢有小魔), 信区: Program
标 题: Re: 小考题
时 间: 2005年12月03日15:29:51 星期六
要是不让你用加减号呢~~~
【 在 kaman (天外飞仙) 的大作中提到: 】
: void swap(int *a,int *b)
: {
: *a=(*a+*b)-(*b=*a); //work in gcc and vc
: }
: 【 在 mmkiller (傢有小魔) 的大作中提到: 】
: : 题目: 函数实现交换两个int型变量的值
: : 要求: 不定义任何中间变量
: : 嗯~很老的了,以前有人说过。
☆ 4 ──────────── 我是分割线 ─────────────────☆
发信人: bakey (sbb的猪), 信区: Program
标 题: Re: 小考题
时 间: 2005年12月03日15:57:20 星期六
[code]
__asm{
push a;
push b;
pop a;
pop b;
}
[/code]
【 在 mmkiller (傢有小魔) 的大作中提到: 】
: 要是不让你用加减号呢~~~
: 【 在 kaman (天外飞仙) 的大作中提到: 】
: : void swap(int *a,int *b)
: : {
: : *a=(*a+*b)-(*b=*a); //work in gcc and vc
: : }
☆ 5 ──────────── 我是分割线 ─────────────────☆
发信人: bakey (sbb的猪), 信区: Program
标 题: 或者
时 间: 2005年12月03日15:57:55 星期六
a = a^b;
b = a^b;
a = a^b;
【 在 bakey (sbb的猪) 的大作中提到: 】
: [code]
: __asm{
: push a;
: push b;
: pop a;
: pop b;
: }
: [/code]
: 【 在 mmkiller (傢有小魔) 的大作中提到: 】
: : 要是不让你用加减号呢~~~
☆ 6 ──────────── 我是分割线 ─────────────────☆
发信人: kaman (天外飞仙), 信区: Program
标 题: Re: 小考题
时 间: 2005年12月03日16:04:08 星期六
非ansi
【 在 bakey (sbb的猪) 的大作中提到: 】
: [code]
: __asm{
: push a;
: push b;
: pop a;
: pop b;
: }
: [/code]
: 【 在 mmkiller (傢有小魔) 的大作中提到: 】
: : 要是不让你用加减号呢~~~
☆ 7 ──────────── 我是分割线 ─────────────────☆
发信人: bakey (sbb的猪), 信区: Program
标 题: Re: 小考题
时 间: 2005年12月03日16:08:48 星期六
随便
【 在 kaman (天外飞仙) 的大作中提到: 】
: 非ansi
: 【 在 bakey (sbb的猪) 的大作中提到: 】
: : [code]
: : __asm{
: : push a;
: : push b;
: : pop a;
: : pop b;
: : }
: : [/code]
☆ 8 ──────────── 我是分割线 ─────────────────☆
发信人: kaman (天外飞仙), 信区: Program
标 题: Re: 小考题
时 间: 2005年12月03日16:45:46 星期六
ft,第三方的解决办法是无限的。
【 在 bakey (sbb的猪) 的大作中提到: 】
: 随便
: 【 在 kaman (天外飞仙) 的大作中提到: 】
: : 非ansi
☆ 9 ──────────── 我是分割线 ─────────────────☆
发信人: kaman (天外飞仙), 信区: Program
标 题: Re: 或者
时 间: 2005年12月03日16:46:52 星期六
可以写得夸张一点
a=~a&~b|a&b;
b=~a&~b|a&b;
a=~a&~b|a&b;
OR
a=(~a|~b)&(a|b);
b=(~a|~b)&(a|b);
a=(~a|~b)&(a|b);
【 在 bakey (sbb的猪) 的大作中提到: 】
: a = a^b;
: b = a^b;
: a = a^b;
: 【 在 bakey (sbb的猪) 的大作中提到: 】
: : [code]
: : __asm{
: : push a;
: : push b;
: : pop a;
: : pop b;
: .................(以下省略)
☆ 10 ──────────── 我是分割线 ─────────────────☆
发信人: blackhawk (blackhawk), 信区: Program
标 题: Re: 小考题
时 间: Sat Dec 3 17:25:56 2005
这个不错,利用编译器实现栈
【 在 kaman 的大作中提到: 】
: void swap(int *a,int *b)
: {
: *a=(*a+*b)-(*b=*a); //work in gcc and vc
: }
: 【 在 mmkiller (傢有小魔) 的大作中提到: 】
: : 题目: 函数实现交换两个int型变量的值
: : 要求: 不定义任何中间变量
: : 嗯~很老的了,以前有人说过。
☆ 11 ──────────── 我是分割线 ─────────────────☆
发信人: bso (meteor), 信区: Program
标 题: Re: 小考题
时 间: Mon Dec 5 10:12:11 2005
x+=y;
y=x-y;
x-=y;
【 在 mmkiller 的大作中提到: 】
: 题目: 函数实现交换两个int型变量的值
: 要求: 不定义任何中间变量
: 嗯~很老的了,以前有人说过。
☆ 12 ──────────── 我是分割线 ─────────────────☆
发信人: huhaiming (一生只爱她), 信区: Program
标 题: Re: 小考题
时 间: 2005年12月05日23:16:42 星期一
以前我发过的。。。
a=a+b-(b=a);
【 在 mmkiller (傢有小魔) 的大作中提到: 】
: 题目: 函数实现交换两个int型变量的值
: 要求: 不定义任何中间变量
: 嗯~很老的了,以前有人说过。
☆ 13 ──────────── 我是分割线 ─────────────────☆
发信人: achang (阿昌), 信区: Program
标 题: Re: 小考题
时 间: 2005年12月06日12:45:04 星期二
厉害啊。。
【 在 huhaiming (一生只爱她) 的大作中提到: 】
: 以前我发过的。。。
: a=a+b-(b=a);
: 【 在 mmkiller (傢有小魔) 的大作中提到: 】
: : 题目: 函数实现交换两个int型变量的值
: : 要求: 不定义任何中间变量
: : 嗯~很老的了,以前有人说过。
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店