#的转换作用是由预处理器处理的,编译器根本不知道#的转换作用。它可以将宏参数直接转换成字符串。参考代码如下:
#include <stdio.h>
#include <stdlib.h>
#define STRING(x) #x
int main()
{
printf ( "%s\n", STRING(Hello world!) );
printf ( "%s\n", STRING ( for ) );
printf ( "%s\n", STRING ( volatile ) );
printf ( "%s\n", STRING ( chentong ) );
system ( "pause" );
return 0;
}
运行结果如下:
转载于:https://blog.51cto.com/chen0547/2044808