首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

一道计算题 请大家帮忙,该怎么处理

2012-02-28 
一道计算题 请大家帮忙无符号类型变量a和b在执行一下三个指令后包含什么?a^bb^aa^b希望有详解很感谢

一道计算题 请大家帮忙
无符号类型变量a和b   在执行一下三个指令后包含什么?

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

希望有详解     很感谢!

[解决办法]
将a和b的值交换。~为异或运算符。
[解决办法]
这几句话可以实现交换两个变量的值。符号 ^ 的意思是 “异或”。

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

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;
}

热点排行