发布网友
共3个回答
热心网友
#include <stdio.h>
#define prt_str( begin , end ) printf("%s=%s\n" , #begin , begin##end )
//这里begin##end意思是将这两个信息连成一个串,而这个串表示一个变量,如,本例中拼出string
int main()
{
char string[100]="hello world!";
prt_str( str , ing ); //输出str=hello world!
//这句,完成预处理后就变成:printf("%s=%s\n" ,“str" ,string ) ;
return 0;
}
热心网友
##为双目符,事实上在预处理阶段很少用的到!比如可以这样用:
#define ID_NUM(n) i##n
这样ID_NUM(1) 则在预处理阶段被替换为i1
热心网友
C 语言里没有 "##" 这样的运算符,你记错了吧。