代码
char *pcs = "\e[1;34m%d\e[0m";
int main()
{
printf(pcs,12313213);
return 0;
}
输出
12313213 蓝色
我想printf
2 蓝色数字。像 --->
printf(pcs+pcs,12313213,999); //(does not work)
有人可以指导我吗。
最佳答案
声明 pcs+pcs 添加两个指针。结果是一个指向完全不相关的地方的指针,这几乎肯定会使您的程序崩溃。 做你想做的事情的正确方法是改变格式字符串以接受两个数字:
char *pcs = "\e[1;34m%d%d\e[0m";
或者将格式字符串做成一个宏并使用它两次:
#define pcs "\e[1;34m%d\e[0m"
printf(pcs pcs,12313213,999);
请注意,两个宏实例化之间没有逗号。
关于c - 彩色的 printf 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21774314/