激动人心,无法言表!
强烈支持楼主ing……
楼主加油,鱼C加油!我们都看好你哦!
看看结果,楼主辛苦了
真是难得给力的帖子啊。
强烈支持楼主ing……
真是难得给力的帖子啊。
激动人心,无法言表!:victory:
真是难得给力的帖子啊。:big
学习一下 :shy:
{:5_104:}还没看到指针
楼主加油,鱼C加油!我们都看好你哦!
看一看。。。启发启发思维
看看答案~~~~~~~~~
真是难得给力的帖子啊。
激动人心,无法言表!
没看懂swap两个相同的数为什么会变为0
CHINA_无影 发表于 2013-2-2 09:27 static/image/common/back.gif
1.利用了二进制运算(在零基础入门学习C语言64视频里有的)
2.因为 first==last 的时候,内存指向同一地址 ...
指向同一地址时:假设此时 x=y=a;
第一步异或: y=x^y=a^a=0, x=a; 第二步:x=x^y=a^0=a, y=0; 第三步:x=a, y=x^y=a^0=a;
x和y的值并没有变化啊,0是怎么来的???
1012095371 发表于 2013-12-15 13:52 static/image/common/back.gif
指向同一地址时:假设此时 x=y=a;
第一步异或: y=x^y=a^a=0, x=a; 第二步:x=x^y=a^0=a, y=0; 第三步: ...
你忘记指针了!*y=*x^*y=a^a=0,*y==0,由于*x跟*y是同一地址,所以*y里的值就是*x的值,*x==0!{:5_102:}
强烈支持楼主ing……