(C语言)关于printf的新发现: 可以用字符串变量替代第一个字符串参数

char a[] = "hello%d\n%dworld";
printf(a, 2, 3);
//输出:
//hello2
//2world

事情的起因是使用printf("\033[0;47;30m");改变命令行字体背景和颜色的时候,室友提起能否让用户改变字体颜色。因为那需要改变printf("");里双引号中的内容,我就下意识觉得不行,但又转念一想,想到了这种方式,实验了一下发现真的可行。感觉发现新大陆了一样。


发现之后看起来挺理所当然的,但是之前真的完全想不到可以这样用。
这也是先学printf后学函数带来的思维盲区,如果先学习了函数那printf();里的那个字符串就自然是一个普通的参数而已,那自然可以用字符串(字符数组)变量来替代了。

posted @   Kazuma_124  阅读(22)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示