void exchange(float *p ,float *q){
float a = *p;
*p = *q;
*q = a;
}
float a = 0;
float b = 0;
printf("請輸入a = ");
scanf("%f",&a);
printf("請輸入b = ");
scanf("%f",&b);
exchange(&a, &b);
printf("a = %f,b = %f", a, b);
為什麼運行結果是這樣:
請輸入a = 559.4
請輸入b = 66.4
結果:
a = 66.400002,b = 559.400024
沒錯啊。
記住:浮點數是有誤差的。