字符串化操作符#得作用

#include <stdio.h>

#define f(a, b) a##b

#define g(a) #a

#define h(a) g(a)

int main()
{

    printf("%s\n", h(f(1,2)));

    printf("%s\n", g(f(1,2)));

    return 0;

}

//考察字符串化操作符#得作用得執行過程,以及宏定義替換的次序。//如果該宏爲帶#號的宏定義,則直接替換字符串,無需再嵌套替換,
//如果該宏不是帶#的宏,則先替換括號內部的宏定義,然後替換外部的。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章