交换两个变量的值,不采用第三个变量(= = !当年年少无知的我想破了脑袋都没想到)
void swap(int *a, int *b)
{
*a = *a + *b;
*b = *a - *b;
*a = *a - *b;
}
最大公约数欧几里德算法
int gcd(int m, int n)
{
int r;
if ((m * n) == 0)
goto error;
r = m % n;
while(r) {
m = n;
n = r;
r = m % n;
}
return n;
error:
printf("\nerror,the ");
if (m)
printf("second");
else
printf("first");
printf(" parameter is equal with zero\n");
return -1;
}