C语言中'#"作用
展开全部
在printf中的%后面的那个#是用来格式说明的,
如果在g,g,f,e或者e代码前加一个#,可以确保显示一个小数点(即使没有小数位),
在o之前加上则输出八进制,
在p,x或者x之前则确保输出十六进制
例如上面的那个就是把地址按照十六进制形势输出.
在编译时,#的作用是,把后面的变元转化为带引号的串.
例如上面的#define
fun(a)
cout<<#a;代表的就是把a当作一个字符串输出,比如fun(123\n);将会输出123以及一个回车.
##的作用才是在编译的时候把前后连接起来.
例如:
#include
#define
concat(a,b)
a##b
int
main(void)
{
int
xy=10;
printf("%d",concat(x,y));
//即是:
printf("%d",xy);
return
0;
}
如果在g,g,f,e或者e代码前加一个#,可以确保显示一个小数点(即使没有小数位),
在o之前加上则输出八进制,
在p,x或者x之前则确保输出十六进制
例如上面的那个就是把地址按照十六进制形势输出.
在编译时,#的作用是,把后面的变元转化为带引号的串.
例如上面的#define
fun(a)
cout<<#a;代表的就是把a当作一个字符串输出,比如fun(123\n);将会输出123以及一个回车.
##的作用才是在编译的时候把前后连接起来.
例如:
#include
#define
concat(a,b)
a##b
int
main(void)
{
int
xy=10;
printf("%d",concat(x,y));
//即是:
printf("%d",xy);
return
0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询