#include<stdio.h>
#define DEF6 625
#define DEF6 625
#define DEF(n) DEF##n
void main(){
printf("%d\n", DEF(6));
}
此代碼有效。 但是如何在C預處理器中使用'##'添加Integer?
#include<stdio.h>
#define DEF6 625
#define DEF(n) DEF##n
void main(){
int a=6;
printf("%d\n", DEF(a));
}
此代碼不起作用。 錯誤的結果是這樣的
Line 8: error: 'DEFa' undeclared (first use in this function)
Line 8: error: (Each undeclared identifier is reported only once
Line 8: error: for each function it appears in.)
所以,我怎麼能使用##
添加整型變量#define
?
'##'是一個連接運算符,不是加法! – Olaf
你試圖解決的大問題是什麼? – Caleb
@Caleb:優秀問題,OP:你爲什麼要實施這樣的解決方案? –