#define dprintf(arg) printf(#arg);
調用dprintf(test)的時候會將#exp換成字串"arg"
2. 程式範例
#include <stdio.h> #define dprintf(arg) \ do { \ printf("%s: %s\n", arg, #arg); \ } while (0) int main(int argc, char *argv[]) { char *hello = "DEBUG"; \ dprintf(hello); return 0; }
執行結果: DEBUG: hello3. 上面範例Macro展開後
第一個arg會被hello變數取代,hello是個指標,指向"DEBUG"字串
第二個arg會被"hello"字串取代
dprintf(hello) do { printf("%s: %s\n", hello, "hello"); } while (0)
沒有留言:
張貼留言