- 相關推薦
面試實例:用兩個宏定義來計算 s=(x*y)1/2
解:#include
#include
main()
#define s1(a,b) ((a) *(b))
#define s(c) sqrt(c )
{
float result;
int n1,n2;
scanf(“%d”,%n1);
scanf(“%d”,&n2);
result=s1(n1,n2);
result=s(result);
printf(“%f\n”,result);
}
拓展:
指向指針數組的指針
指針的指針另一用法舊處理指針數組,
面試實例:用兩個宏定義來計算 s=(x*y)1/2
。有些程序員喜歡用指針數組來代替多維數組,一個常見的用法就是處理字符串,資料共享平臺
《面試實例:用兩個宏定義來計算 s=(x*y)1/2》(http://salifelink.com)。char *Names[]=
{
Bill,
Sam,
Jim,
Paul,
Charles,
0
};
main()
{
char **nm=Names;
while(*nm!=0) printf(%s\n,*nm++);
}
先用字符型指針數組Names的地址來初始化指針nm。每次printf()的調用都首先傳遞指針nm指向的字符型指針,然后對nm進行自增運算使其指向數組的下一個元素(還是指針)。注意完成上述認為的語法為*nm++,它首先取得指針指向的內容,然后使指針自增。
注意數組中的最后一個元素被初始化為0,while循環以次來判斷是否到了數組末尾。具有零值的指針常常被用做循環數組的終止符。程序員稱零值指針為空指針(NULL)。采用空指針作為終止符,在樹種增刪元素時,就不必改動遍歷數組的代碼,因為此時數組仍然以空指針作為結束。
【面試實例:用兩個宏定義來計算 s=(x*y)1/2】相關文章:
面試的定義和種類05-23
高職單招面試技巧及實例05-13
英語面試問答實例:如何回答HR的問題07-01
用1%的時間做100%的工作08-18
2月上半月申萬宏源調研指數報告10-26
面試英語—你的英語面試官就等你來01-16
用方言搞定面試07-07
面試自我介紹1分鐘10-28
工作報告定義06-20
自我介紹定義08-04