一个蛋疼的C语言位操作代码(不许上机调试)

[复制链接]
866|3
 楼主| huashfly 发表于 2018-5-2 15:32 | 显示全部楼层 |阅读模式
如下代码,各位大虾分析一下?不上机调试能不能看懂?欢迎讨论!
void fun(char *pa, char *pb)
{
    *pa = *pa^*pb;
    *pb = *pa^*pb;
    *pa = *pa^pb;
}
hxfxt 发表于 2018-5-2 15:43 | 显示全部楼层
本帖最后由 hxfxt 于 2018-5-4 08:41 编辑

应该是实现两个数据交换的功能,我的理解是你把关系式带入分析一下即可;
第二个表达式:*pb = *pa^*pb=(*pa^*pb) ^*pb =*pa ;
第三个表达式:*pa = *pa^*pb=(*pa^*pb)^(*pa ) =*pb;
william008 发表于 2018-5-3 14:11 | 显示全部楼层
不用调试。你这个程序的行为完全不可预测。
pb是指针,你再看看你最后一行的pb干了什么
kingkits 发表于 2018-5-3 16:39 | 显示全部楼层
只能说是无聊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部