我的第七个代码(对第六个代码的优化)

我的第七个代码

#define _CRT_SECURE_NO_WARNINGS 1

#include<stdio.h>

int main()
{
int arr[] = { 1, 2, 3, 4, 1, 2, 3, 4, 5 };
int i = 0;
int j = 0;
int sz = sizeof(arr) / sizeof(arr[0]);//计算数组里包含元素个数

for (i = 0; i < sz; i++)
{
    j = j^arr[i];
}
printf("单身狗是%d\n", j);
return 0;

}

//这个代码是对第六个代码的优化
//利用二进制同位异或的特点
//5^5==0;6^6==0即相同的数字异或的结果为零
//0^1==1;0^2==2即零异或任何数都等于这个数本身
//上面两种运算可以不考虑顺序,因为经过验证不同顺序得到相同结果

猜你喜欢

转载自blog.51cto.com/15100722/2625577