

代碼想實作的功能比較簡單,就是比較a,b,c三者的大小,主要是想用指標和宏定義實作,
但情況是報錯了,然而我也看不懂是啥問題,求大佬幫忙看看。
uj5u.com熱心網友回復:
我懷疑是宏定義不能用指標的問題,然后宏定義里也沒加*,但是還是錯了。uj5u.com熱心網友回復:
供參考:#include<stdio.h>
#define change(a,b) t=(a),(a)=(b),(b)=t
#define compare(a,b) (a)>(b)?change((a),(b)):NULL
int main()
{
int *a,*b,*c,t,A,B,C;
scanf("%d%d%d",&A,&B,&C);
a=&A;b=&B;c=&C;
printf("1: %d,%d,%d\n",*a,*b,*c);
compare((*a),(*b));
compare((*a),(*c));
compare((*b),(*c));
printf("2: %d,%d,%d\n",*a,*b,*c);
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/280769.html
標籤:C語言
上一篇:二維陣列中找最大特征陣列
下一篇:救救孩子!!
