一道计算题 请大家帮忙

reew600 2007-06-06 06:59:29
无符号类型变量a和b 在执行一下三个指令后包含什么?

a^=b;b^=a;a^=b;

希望有详解 很感谢!
...全文
246 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
reew600 2007-06-11
  • 打赏
  • 举报
回复
非常感谢
HWX_C(有目标就有方向)
的回复
ammana_babi 2007-06-06
  • 打赏
  • 举报
回复
这几句话可以实现交换两个变量的值。符号 ^ 的意思是 “异或”。

下面给你两个函数,以及示例代码,自己看一下就可以了。

void swap01(int *a,int *b)
{
int tt;

tt = *a;
*a = *b;
*b = tt;
}
void swap02(int *a,int *b)
{
int tt;

*a ^= *b;
*b ^= *a;
*a ^= *b;
}

int main()
{
int a = 10,b = 5;

swap01(&a,&b);
printf("swap01(%d,%d)\t a = %d,b = %d\n",a,b,a,b);

swap02(&a,&b);
printf("swap02(%d,%d)\t a = %d,b = %d\n",a,b,a,b);

system("pause");
return 0;
}
lindex 2007-06-06
  • 打赏
  • 举报
回复
将a和b的值交换。~为异或运算符。
reew600 2007-06-06
  • 打赏
  • 举报
回复
本人 新手 请顺便告诉一声 怎样赚积分 或是给个有介绍的网址
HWX_C 2007-06-06
  • 打赏
  • 举报
回复
实现两个变量的数值转换,具体理解方面也不甚了解。

69,368

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧