社区
数据结构与算法
帖子详情
给大家出道题玩玩啊 ,我想了好久才想出来。
Cloud__Apex
2009-07-28 05:31:33
给 两个变量 a , b 都是有值得整数,
问 不能利用其他的变量 交换 a 和 b 的值
...全文
253
30
打赏
收藏
给大家出道题玩玩啊 ,我想了好久才想出来。
给 两个变量 a , b 都是有值得整数, 问 不能利用其他的变量 交换 a 和 b 的值
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
30 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhanglzlkn
2009-08-25
打赏
举报
回复
学习一下
Cloud__Apex
2009-07-31
打赏
举报
回复
谢谢了 原来还有这么多漂亮的算法,很抱歉 提了老题目 、
跟大家学习很开心
bigbug9002
2009-07-31
打赏
举报
回复
那我用乘和除
a=a*b;
b=a/b;
a=a/b;
fireseed
2009-07-31
打赏
举报
回复
[Quote=引用 26 楼 joanlynnlove 的回复:]
引用 24 楼 fireseed 的回复:
补充一下题目,不许用加减,不许用异或,哇嘎嘎~~~
不能用加减号还是?
要不然还能用与运算的
具体忘了。
[/Quote]
其实很简单的!
__asm
{
……
}
明白了吗?哈哈!!
fireseed
2009-07-30
打赏
举报
回复
补充一下题目,不许用加减,不许用异或,哇嘎嘎~~~
acdbxzyw
2009-07-30
打赏
举报
回复
[Quote=引用 24 楼 fireseed 的回复:]
补充一下题目,不许用加减,不许用异或,哇嘎嘎~~~
[/Quote]
不能用加减号还是?
要不然还能用与运算的
具体忘了。
ToBeTough
2009-07-30
打赏
举报
回复
断了你们的路
[Quote=引用 24 楼 fireseed 的回复:]
补充一下题目,不许用加减,不许用异或,哇嘎嘎~~~
[/Quote]
LeonTown
2009-07-29
打赏
举报
回复
赞
[Quote=引用 11 楼 tkminigame 的回复:]
这里必须要指出下,用两个变量交换数据的方法虽然很多人都知道,但有个隐患几乎没人提到过,当你无法保证两个变量是不是来自同一个引用,或者两个指针指向同一个内存地址时,这么做会出错。
举个例子
void main(){
int i = 10;
。。。
int *p = &i;
。。。
int *q = &i;
。。。
//交换两个指针指,但你可能并没检查他们是否是同一个值。
*p = *p^*q;//i = 0;
*q = *p^*q;//i = 0;
*p = *p^*q;//i = …
[/Quote]
acdbxzyw
2009-07-29
打赏
举报
回复
[Quote=引用 13 楼 morilasi 的回复:]
引用 11 楼 tkminigame 的回复:
这里必须要指出下,用两个变量交换数据的方法虽然很多人都知道,但有个隐患几乎没人提到过,当你无法保证两个变量是不是来自同一个引用,或者两个指针指向同一个内存地址时,这么做会出错。
举个例子
void main(){
int i = 10;
。。。
int *p = &i;
。。。
int *q = &i;
。。。
//交换两个指针指,但你可能并没检查他们是否是同一个值。
*p = *p^*q;//i = 0;
*q = *p^…
[/Quote]
碰到过这个问题,用指针操作时最好先判断一下。
tkminigame
2009-07-29
打赏
举报
回复
这里必须要指出下,用两个变量交换数据的方法虽然很多人都知道,但有个隐患几乎没人提到过,当你无法保证两个变量是不是来自同一个引用,或者两个指针指向同一个内存地址时,这么做会出错。
举个例子
void main(){
int i = 10;
。。。
int *p = &i;
。。。
int *q = &i;
。。。
//交换两个指针指,但你可能并没检查他们是否是同一个值。
*p = *p^*q;//i = 0;
*q = *p^*q;//i = 0;
*p = *p^*q;//i = 0;
}
deerwin1986
2009-07-29
打赏
举报
回复
[Quote=引用 11 楼 tkminigame 的回复:]
这里必须要指出下,用两个变量交换数据的方法虽然很多人都知道,但有个隐患几乎没人提到过,当你无法保证两个变量是不是来自同一个引用,或者两个指针指向同一个内存地址时,这么做会出错。
举个例子
void main(){
int i = 10;
。。。
int *p = &i;
。。。
int *q = &i;
。。。
//交换两个指针指,但你可能并没检查他们是否是同一个值。
*p = *p^*q;//i = 0;
*q = *p^*q;//i = 0;
*p = *p^*q;//i = …
[/Quote]
呵呵 在这个问题上被坑过N次 大家注意吧。。。
大胖子哥
2009-07-29
打赏
举报
回复
[Quote=引用 19 楼 qq675927952 的回复:]
引用 7 楼 KingWolfOfSky 的回复:
无聊的老题目
C/C++ code
a^=b^=a^=b
确实是很优美的代码~~
up
[/Quote]
赞
chowyi
2009-07-29
打赏
举报
回复
唉 不知道怎么玩
qq675927952
2009-07-29
打赏
举报
回复
[Quote=引用 7 楼 KingWolfOfSky 的回复:]
无聊的老题目
C/C++ code
a^=b^=a^=b
确实是很优美的代码~~
[/Quote]
up
morilasi
2009-07-29
打赏
举报
回复
[Quote=引用 17 楼 morilasi 的回复:]
引用 15 楼 tkminigame 的回复:
那本书上说了什么?
上面说在程序中执行检验是不可行的。
引用的就是你的这个例子。如果其中一个变量位于寄存器中,那这段代码会失败
因为不能取寄存器的地址
[/Quote]呃。不好意思,看错,那个跟你这个还不太一样。
那上面只是讲的
*p=*q^*p
*q=*p^*q
*p=*q^*p
morilasi
2009-07-29
打赏
举报
回复
[Quote=引用 15 楼 tkminigame 的回复:]
那本书上说了什么?
[/Quote]上面说在程序中执行检验是不可行的。
引用的就是你的这个例子。如果其中一个变量位于寄存器中,那这段代码会失败
因为不能取寄存器的地址
xiaoyu821120
2009-07-29
打赏
举报
回复
a = a + b;
b = a - b;
a = a - b;
tkminigame
2009-07-29
打赏
举报
回复
那本书上说了什么?
timeblock
2009-07-29
打赏
举报
回复
a = a^b;
b = a^b;
a = a^b;
就这样,什么问题也没有,相当标准~~~
morilasi
2009-07-29
打赏
举报
回复
[Quote=引用 11 楼 tkminigame 的回复:]
这里必须要指出下,用两个变量交换数据的方法虽然很多人都知道,但有个隐患几乎没人提到过,当你无法保证两个变量是不是来自同一个引用,或者两个指针指向同一个内存地址时,这么做会出错。
举个例子
void main(){
int i = 10;
。。。
int *p = &i;
。。。
int *q = &i;
。。。
//交换两个指针指,但你可能并没检查他们是否是同一个值。
*p = *p^*q;//i = 0;
*q = *p^*q;//i = 0;
*p = *p^*q;//i = 0;
}
[/Quote]见《C专家编程》第237页。
加载更多回复(10)
[详细完整版]网络与新媒体.pdf
不过你玩手机和电脑可能只是娱乐消遣,学习这个专业后,玩出来的是学历和成就感。 怎么样,你要不要来和我们一起玩? 网络与新媒体 写 推 文 蹭 上 这 波 热 度 ! 你 先 自 己 玩 , 我 现 在 得 立 马 S 你 先 自...
C语言指针笔试真题整理(8道)
前言 本篇文章整理了一些指针的笔试题,适合初学者以及对于指针掌握并不是很牢固的朋友阅读,当然,大佬
想
做着玩的话可以看一看第八题~ 分类:循序渐进的难度:前三题和第七题是简单题,第四题有陷阱,5、6、8比较...
我的面试(五)
八月十五中秋佳节,俺再一次赶赴北京。为我的北漂奔波!足足用了一天的时间,晚上11点才回到家。 这家公司在上地,好远。做的题和以前面试做的差不多不
想
再赘述了。当一件事情干过n次之后就趋于麻木,我...
出道题
...
学习资料:笔试必看——75道逻辑题答案
【1】假设有一个池塘,里面有无穷多的水。现有2个空水壶,容积分别为5升和6升。...做完后
想
出去玩。"等等,妈妈还要考你一个题目,"她接着说,"你看这6只做化验用的玻璃杯,前面3只盛满了水,后面3只
2018-2019赛季多校联合新生训练赛第四场题解与补题(中石油)
这一场比赛我是在宿舍里打的,环境非常的恶劣(嘘) 因为舍友一直在说话啥的 不过这也是没办法的事,毕竟是周末嘛~ 上来第一题就给我吓破胆了 ,吓得我拿了一个本子在那个地方疯狂计算,把每种情况都写出来以后才敢...
数据结构与算法
33,028
社区成员
35,337
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章