導航:首頁 > 源碼編譯 > 宏定義編譯後不變

宏定義編譯後不變

發布時間:2025-09-18 14:09:53

㈠ c語言中宏替換時先求出實參表達式的值,然後再帶入形參中運算求值,對不對啊為什麼啊

不是這樣的,宏替換是在預編譯時將整個宏的表達式進行替換再進行編譯的,舉個例子講如果你定義了如下宏:
#define fun(a) (a*a)
下面用的時候
int main()
{
int i = 5, j = 4;
int k = fun(i+j)
}
那麼在預編譯時首選會先將fun(i+j)替換成 i+j*i+j,即此時計算的時候會先算乘法i*j,那麼k的值最終就是5+4*5+4 = 29,而不是(i+j)*(i+j)=81,當然如果你想實現後一種結果,則宏定義方法應該是下面這樣的
#define fun(a) ((a)*(a))

相互學習,希望對你有幫助,不懂的話,再跟我討論吧

㈡ 關於C語言中內置宏__DATE__和 __TIME__

這兩個就是字元串常量,當字元串用就行。

__DATE__:當前的編譯日期
__TIME__:當前編譯時間;

#include<stdio.h>
#include<string.h>
intmain()
{
printf("%s,%s ",__DATE__,__TIME__);
printf("長度DATE=%d,TIME=%d ",strlen(__DATE__),strlen(__TIME__));
return0;
}

閱讀全文

與宏定義編譯後不變相關的資料

熱點內容
編程珠璣筆記 瀏覽:279
結束命令行 瀏覽:268
力學原理pdf 瀏覽:734
宏定義編譯後不變 瀏覽:403
如何搞免費伺服器 瀏覽:211
神經系統pdf 瀏覽:671
如何查看伺服器上的資料庫伺服器 瀏覽:195
壓縮機型號v代表什麼 瀏覽:57
旅遊類源碼 瀏覽:867
電腦伺服器類型怎麼設置 瀏覽:235
pdf炒股 瀏覽:791
伺服器地址缺少埠號什麼意思 瀏覽:535
下載需要解壓的小說用哪個軟體 瀏覽:539
廣東分布式伺服器雲主機 瀏覽:588
伺服器忙打不開怎麼辦 瀏覽:20
tif壓縮軟體 瀏覽:418
程序員那麼可愛陸漓上班第1天 瀏覽:952
macbookair自帶什麼app 瀏覽:706
如何關了加密的軟體 瀏覽:587
程序員p2p待遇 瀏覽:923