答案:
#define max(a,b) ((((long)((a)-(b)))&0x80000000)?b:a)
若a > b ,則a-b的二進制最高位為0,與上任何數還是0,所以大數為a;
否則,a-b為負數,二進制最高位為1,與上0x80000000(最高位為1其他為0)之後為1,
所以此時的大數為b.
2.如何輸出源文件的標題和目前執行行的行數?
答案: printf("The file name: %d\n", __FILE__);
printf("The current line No:%d\n", __LINE__);
ANSI C標準預定義宏:
__LINE__
__FILE__
__DATE__
__TIME__
__STDC__ 當要求程序嚴格遵循ANSI C標準時該標識符被賦值為1
__cplusplus__ 當編寫C++程序時該標識符被定義
3.不會
4.while(1)
{
int *p = new int[10000];
}
5.答案:A & B -->2 mins
1 mins <-- A
C & D -->10 mins
2 mins <-- B
A & B --> 2 mins
壹*** 2 + 1 + 10 + 2 + 2 = 17 mins
希望對妳有幫助。