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

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

时间:2023-12-11 17:26:09浏览次数:33  
标签:发现 变量 C语言 printf 字符串 替代

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

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


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

标签:发现,变量,C语言,printf,字符串,替代
From: https://www.cnblogs.com/l25428455/p/17894898.html

相关文章

  • 实验6_c语言结构体、枚举应用编程
    task4#define_CRT_SECURE_NO_WARNINGS#include<stdio.h>#defineN10typedefstruct{charisbn[20];charname[80];charauthor[80];doublesales_price;intsales_count;}Book;voidoutput(Bookx[],intn);voidsort(Bookx[],......
  • 实验6 C语言结构体、枚举应用编程
    实验任务4代码task4.c1#include<stdio.h>2#defineN1034typedefstruct{5charisbn[20];//isbn号6charname[80];//书名7charauthor[80];//作者8doublesales_price;//售价9intsale......
  • 【C系列5.4】指针专题之分割字符串(strtok与gets的应用)(hznuoj)
    Description Alex的好朋友都去生猴子了,所以她只好百无聊赖地继续玩字符串游戏。输入一个长度不超过10000的字符串,字符串中只含字母和空格,空格用于分隔单词,请将字符串中用空格分隔的单词输出来。 Input 输入含多组测试数据,每组占一行,是一个长度不超过10000的字符串,只含字......
  • 在使用strlen() 函数判断一个字符串长度后重新开辟一个内存存放时要+ 1
    typedef struct{    char *id;    char *name;    int score1;    int score2;    int score3;} Stu;intmain(){Stu*stutmp=(Stu*)malloc(sizeof(Stu));if(stutmp==NULL){returnNULL;}charidtmp......
  • 字符串用法
    数字类型整数类型oct八进制hex十六进制bin二进制浮点数类型isdigit()isdecimal()字符串类型拼接join索引取值正向索引负向索引切片name='dream'#顾头不顾尾print(name[0:3])#[0:end]print(name[:3])#[0:结尾]prin......
  • 前端纯js字符串拼接导出excel
    1<html>2<head>3<pstyle="font-size:20px;color:red;">使用a标签方式将json导出csv文件</p>4<buttononclick='tableToExcel()'>导出</button>5</head>6<body>7<script>8......
  • Go 语言字符串使用方式与技巧
    Go语言字符串使用方式与技巧原创 frank Golang语言开发栈 2023-12-1023:00 发表于北京收录于合集#Golang语言156个#Golang进阶学习106个大家好,我是frank。欢迎大家点击标题下方蓝色文字「Golang语言开发栈」关注公众号。公众号主页点击右上角三个点图标,设......
  • C语言中的运算符优先级
    C语言中的运算符优先级前言这几天在调试一个程序,遇到了一个bug,就是需要读取寄存器的数据。该数据是一个16bit的数据,按照高8位一个byte和低8位一个byte分别存放在了不同的寄存器地址中。但是在我读取数据的时候,总是会出现数据不符合预期的情况。在程序中是这样子的,读取的高8位数......
  • c语言指针
    【C语言】中的指针说明:只是学习中的一些感悟,如有错误,欢迎指正一、指向指针的指针指向指针的指针是C语言中的一种数据类型,通常简称为"指针的指针",使用两个星号('**')表示。指向指针的指针是一个变量,其值是另一个指针的地址。|1.用法:1>如下定义了一个指向指针的指针char**......
  • 【C语言】预处理
    1、预定义符号C语⾔设置了⼀些预定义符号,可以直接使⽤,预定义符号也是在预处理期间处理的。__FILE__//进⾏编译的源⽂件__LINE__//⽂件当前的⾏号__DATE__//⽂件被编译的⽇期__TIME__//⽂件被编译的时间__STDC__//如果编译器遵循ANSIC,其值为1,否则未定义举例:printf("fi......