交换两个变量的值,不使用第三个变量。即 a=3,b=5,交换之后 a=5,b=3;
有两种解法, 一种用算术算法, 一种用^(异或)
a = a + b;
b = a - b;
a = a - b;
or
a = a^b;// 只能对 int,char..
b = a^b;
a = a^b;
or
a ^= b ^= a;
int*[]与int(*)[]的辨析:
int* P[4]:P指向4个元素为int*指针的数组。
int(*P)[4]:P指向元素为4个int型的数组。即二维数组。P也称为数组指针。
同理 int* fun():fun为返回值为int*的函数
int(*fun)():fun为返回值为int,参数为空的函数。