當前位置:名人名言大全網 - 短信平臺 - 騰訊的JAVA筆試的問題幫忙回答下

騰訊的JAVA筆試的問題幫忙回答下

1.請定義壹個宏,比較兩個數a、b的大小,不能使用大於、小於、if語句

答案:

#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

希望對妳有幫助。