printf("%*s",4,"*****"+4);解释

Android Profiler实战:如何用CPU分析工具揪出卡顿元凶(附线程状态解读) 本文深入解析Android Profiler中的CPU分析工具,重点聚焦线程活动监控。通过解读线程状态时间轴上的绿、黄、灰三色含义,并结合实战案例,指导开发者精准定位导致界面卡顿的CPU密集型或I/O阻塞代码,有效提升应用性能与用户体验。 阅读详情

printf("%*s",4,"*****"+4);解释
printf("%*s/n",6,"*****"+0); 解释 //收藏baidu一个问题,对自己有点用!

1.先从%*s解释起,printf的%后面的格式是:
%[flags] [width] [.precision] [{h | l | ll | I | I32 | I64}]type

这些参数的详细用法请参考msdn:
http://msdn2.microsoft.com/en-us/library/56e442dc(VS.80).aspx

这里我只说重点:其中参数[width]和参数[.precision]如果用*表示,代表这两个值是一个输入参数,因为本例中是%*s不是%.*s,因此可以肯定这个*代表了[width]([flags]不能用*表示).

[width]参数表示了一个宽度,如果输入的字符串很小,长度不到这个宽度,那么会用[flags]参数的值来填充,如果[flags]为空,就用空格来填充.

本例子中[width]=4,因此如果%s的字符串小于4,那么前面会用空格填充.

2."*****"+4,表示什么,在c中字符串"******"表示一个指针地址,"******"+4 表示的是这个指针+4,因此结果是一个"*",你可以试试"*****"+1,和"abcdf"+4,结果一个是"****",一个是"f".
如果还不理解,试试下面的程序:
char *ss="abcdf";
printf("%s,%s,%s,%s,%s",ss,ss+1,ss+2,ss+3,ss+4);

总结:这个printf表示的是:打印一个字符串,如果字符串不足4,用空格补齐,字符串的其实地址是"*****"+4,也就是第4个"*"的位置,打印结果" *"

=========================================
printf("%*s/n",6,"*****"+0);
输出长度不足6,用6个空格补齐,现在你的*已经有5个了,因此只用补一个空格。

printf("%*s/n",6,"********"+0);
这个一个空格都没有,全部是*,长度不足才补齐,而且是缺多少补多少

 

 

 

 

ch   =   "123456780123";  
    int   n   =   2,m   =   10;  
    //*.*   ,前边的*定义的是总的宽度,后边的定义的是输出的个数。  
    //如果后边的比前边的小,则使用空格在左侧补够m位。  
    printf("%*.*s/n",m,n,ch);//这里输出“                 12”  
    printf("%*.*s/n",n,m,ch);//这里输出“1234567890”  

【软件系统架构】系列四:嵌入式软件-NPU(神经网络处理器)系统及模板 NPU(Neural Processing Unit) 是专门用于人工神经网络推理与训练的处理器,具备高并行、低功耗、低延迟等特点。它是边缘 AI、自动驾驶、智能摄像头、语音识别等场景中的关键硬件。 阅读详情

相关推荐

AI辅助SCI论文大修:一键生成回复信+同步修改稿,效率提升300%

AI可以针对多位审稿人的意见进行逐点(point-by-point)回复,语言地道流畅,能够处理邮件格式、礼貌性回复和部分内容修正。最新的LLM:GPT-5, Claude 4.1都是带有agentic功能,能规划复杂任务,并调用工具执行复杂任务的大模型。有时候审稿人意思模棱两可,你的反复揣摩ta关注的点是什么,回复的不好,很有可能下一轮被reject。这个2.0升级版,除了在response中完美rebuttle,在文中对应部分的修改,也会帮你一并呈现,基本上就是可以直接拿来用的版本;

dinaxuejie的博客 1663

C语言-printf打印%*s、%.*s与%-.*s的区别

在平时的使用中,会经常使用到printf进行打印,而最长使用的方式是printf("%s",string)进行打印。但是有个问题,如果string结尾不是0。那么printf会继续打印,直到遇到0为止。这样就会有内存溢出的风险。显然,这种是不符合预期的

qq_26226375的博客 8191

LabVIEW状态机实战:用STM32+DHT11搭建温湿度监测系统(附完整VI源码)

本文详细介绍了如何利用LabVIEW状态机模式与STM32微控制器、DHT11温湿度传感器构建温湿度监测系统。通过硬件选型、状态机设计、LabVIEW程序实现及系统优化等环节,提供了一套完整的解决方案,并附有VI源码,助力开发者快速实现嵌入式温湿度监测应用。

weixin_42549723的博客 518

printf "%.*s"

第一种:没有点 不过 printf("%*s", len, str) 是有这种写法的, 这时 printf 额外接受一个参数作为域宽。 如果 str 的长度小于 len ,会用空格使长度补足。 printf("%*s", 30, id) ; 第2种:有点 https://www.cnblogs.com/yuaqua/archive/2011/10/21/2219856.html ...

GKoSon的博客 5043

EEGLAB+ERPLAB实战:从.cnt文件到情绪ERP差异波,一份避坑指南

本文详细介绍了使用EEGLAB和ERPLAB处理Neuroscan的.cnt格式脑电数据的全流程,从数据导入、预处理到情绪ERP差异波生成。重点解决了采样率验证、事件标记检查、重参考选择、滤波策略与ICA组合等实操难题,并提供了情绪图片ERP研究中P1、EPN和LPP成分的分析技巧,帮助研究者避免常见错误,提升数据处理效率。

weixin_26795617的博客 264

从充电管理芯片里‘偷师’:拆解一个PMOS双向开关电路,搞定你的固态继电器需求

本文深入解析了PMOS双向开关电路在固态继电器应用中的设计要点,重点探讨了防电流倒灌和高侧双向开关的实现技巧。通过拆解充电管理芯片中的PMOS背靠背结构,工程师可以构建高效可靠的固态开关方案,适用于智能硬件和电池管理系统。文章还提供了关键参数选择、电路优化建议及实测数据对比,助力解决电源防反接等工程难题。

weixin_33698043的博客 481

%.*s——C语言中printf 函数中的一种格式化输出方式

主要介绍C语言字符串输出格式%.*s的用法

2401_88591507的博客 1341

传感器应用案例:压力传感器在工业自动化中的应用_(13).压力传感器的数据采集与处理

数据采集系统(Data Acquisition System, DAS)是连接传感器和控制系统的重要桥梁。它包括硬件(如数据采集卡、信号调理器)和软件(如数据采集软件、数据处理算法)两部分。信号调理:将传感器输出的模拟信号转换为适合AD转换的信号。AD转换:将模拟信号转换为数字信号。数据传输:将数字信号传输到控制系统或上位机。存储:将采集的数据存储在本地或远程数据库中。实时性:保证数据的实时性和准确性。压力传感器的数据采集与处理是工业自动化中不可或缺的一部分。

2401_87715305的博客 1620

printf函数中的%.*s介绍

有关printf函数中输出格式,今天看到一个小技巧。 printf("%3s\n", "hello"); printf("%.*s\n", 3, "hello"); printf("%*.*s\n", 5, 3, "hello"); printf("%-*.*s\n", 5, 3, "hello"); 以上分别输出: hello hel ##hel hel## “##代表空...

qq_39965097的博客 2447

javafx结合Scene Builder自定义fxml实现漂亮的登录界面、自定义最小化、关闭按钮

本节主要介绍了如何结合Scene Builder工具来制作一个好看又漂亮的登录界面,以及介绍了如何在程序中调用生成界面文件fxml文件,如何获取到fxml文件中的组件等,并演示登录、最小化和关闭等功能。

c1007857613的专栏 5220

DBT关键切片重建算法

DBT通过有限角度(通常15°~50°)扫描,获取一系列低剂量投影图,重建出三维断层图像。传统FBP在稀疏角度下会产生严重的“伪影拖尾”和层间干扰。临床诊断中,放射科医生往往只关注几层关键切片(即病灶所在层),其余层仅作参考。

AI的内部世界的博客 89

【C语言】的%*d、%.*s等详解:

目录:0.前言【精简版】:时间少的看这里:时间长的可以看我下面的啰嗦:1.必备入门小知识:2.正题1:scanf(1) %*d 被枪毙了:(2) 【%.*d 】的队友被枪毙了:2.正题2:printf就不讲了,前面的【前言】似乎讲得很明白了吧。 0.前言【精简版】: 其实网上也有很多关于这方面的解释,但是总会让新手甚至小老手有些迷茫,比如网上有一种解释就说:忽略…… 你忽略啥啊你… 时间少的看这里: <1>scanf: 注意:在scanf里只有%*d和%.*d有意义, 其他的%*f,%

许多仙的博客 3万+

【保姆级教程】基于UNet++&MobileNetv2的语义分割模型从训练到RK3588部署:让边缘AI落地效率提升300%

通过SMP库一键构建encoder_name="mobilenet_v2", # 选择MobileNetv2作为骨干encoder_weights="imagenet", # 加载预训练权重加速收敛in_channels=3, # 输入图像通道数(RGB)classes=29, # Cityscapes数据集类别数activation=None # 输出无激活,便于后续损失计算本教程从“模型设计-训练-转换-边缘部署”全链路拆解了。

FJN110的博客 210

printf("%s\n",*s);与printf("%s\n",s);的区别

printf("%s\n",*s);与printf("%s\n",s);的区别 (printf("%s\n",s);)会输出字符串,但是我在运行printf("%s\n",*s)时,,理论是只会输出一个字符,但程序总是说exe报错,有人说是%s后跟的是地址,什么原因,那为啥printf("%s\n",*s)卟会输出一个字符呢? 1 2 3 4 5 ...

ll148305879的博客 1万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

详解C语言中的 %*s 和 %.*s

%*s:取决于在scanf中使用还是在printf中使用。 1.在scanf中使用,则添加了*的部分会被忽略,不会被参数获取。 例如: int a,b; char b[10]; scanf("%d%*s",&amp;a,b); //输入为:12 abc那么12将会读取到变量a中,但是后面的abc将在读取之后抛弃,不赋予任何变量(例如这里的字符数组b) 2.在printf中使用,表示用后面的形参替...

现从事游戏开发领域 | 团队项目be_with开发进行中 web方向感兴趣者私 ——We can do all things. 7万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

C语言中%*s,%*c (还有%*.*s)

在 scanf 和 printf 里效果是不一样的。 在 scanf 里的意思,表示忽略要读的项。比如 %*d 就是读一个 %d 该读的东西,但不赋值给任何变量。 格式字符串的一般形式为: %[*][输入数据宽度][长度]类型 其中有方括号[]的项为任选项 “*”符:用以表示该输入项,读入后不赋予相应的变量,即跳过该输入值。 scanf("%*d %*d %d", &amp;n); 如果输入...

qq_41668789的博客 1万+

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

c语言里面printf字体,C语言中printf("%*s\n",xx,xx);的用法示例

printf("%*s%s",xx,xx,xx);或printf("%*s\n",xx,xx);我们应该比较熟悉下面这个例子:#include "stdio.h"int main(){inta=4;printf("M\n",a);return0;}运行结果:前面有三个空格printf("%*s",xx,xx);和它类似“*”表示的是占多少位置格式控制符“s”表示的是字符串格式控制第一个参数是占多少...

weixin_36025176的博客 1199

C语言中%*s,%*c 是什么意思(还有%*.*s,%-*.*s)

https://www.cnblogs.com/ph829/p/5576832.html C语言中%*s,%*c 是什么意思(还有%*.*s) 在 scanf 和 printf 里效果是不一样的。 在printf,动态控制显示格式用的 printf("%*s",5,"123"); 执行一下,这条语句,输出 ##123 (#代表一个空格) 类似于%5d 这样的状况 这里*被常量5代替,用于控制最小字符宽度,主要是针对,最小字符宽度未知的情况,当然*可以对应整型变量 在 scanf 里的意思,表示忽

卤煮小鱼的博客 5803

c语言中 %s 占几个字节,printf("%*s%s%*s",——)是什么?

我们可能知道scanf里用*修饰符,是起到过滤读入的作用。比如一个有三列数值的数据,我只想得到第2列数值,可以在循环里用scanf(“%*d%d%*d”, a[i])来读入第i行的第2个数值到a[i]。但是* 修饰符在printf中的含义完全不同。如果写成printf(“%6d”, 123),很多童鞋应该就不会陌生了,这是设置域宽的意思。同理,%6s也是域宽。* 修饰符正是用来更灵活的控制域宽。使...

weixin_39614109的博客 1621

%*s ,%.s ,%.*.s详解

取决于在scanf中使用还是在printf中使用。 (1)在scanf中使用 在scanf中使用,则添加了*的部分会被忽略,不会被参数获取。 比如 %*d 就是读一个 %d 该读的东西,但不赋值给任何变量。 int index_t = 1; scanf("%*d", &index_t); printf("%d", index_t); //无论你怎么输入 获得的值都为1 int index_t = 1; scanf("%d", &index_t); printf("%..

qq_18841761的博客 1万+

关于 printf("%*.*s/n",m,n,ch) 的问题

对于 printf(%*.*s\n,m,m,ch); ,这种printf 函数的输出我第一次看的时候很奇怪。下面就来解释一下。 加入有下面的代码 #include<stdio.h> int main() { char* ch = (char*)"123456789"; int m = 10,n = 2; printf("%*.*s\n",m,n,ch); printf("...

一条二哈 1881

C语言printf中%s、%*s、%*.*s的作用以及实现一个进度条

这个比较特殊,首先前面的*代表至少输出多少个字符,如果少于这几个字符则在左边空格补齐。”符号,则认为是一个格式化标识符,它会自动读取下一个字符作为占位符,如果“”上下文中,那么后面一个字符就要求为宽度占位数。在c语言printf的解析格式里,如果遇到“个字符,所以又在左边用空格进行了补齐。”则取参数对应位作为宽度,如果是“第二个*代表最多输出多少个字符。所以这段参数的含义是至少输出。的原因,所以我们只能输出。个则在左边用空格来补齐。个字符,但最多只能输出。,意味着最多只能输出。

17岁boy的博客 1万+

C语言printf动态格式化:%*s、%.*s与%-.*s的深度解析与应用

格式化输出是编程中数据呈现的基础技术,其核心在于控制字段宽度与精度。宽度定义了输出的最小占位空间,影响对齐方式;精度则限制最大输出长度,常用于字符串截断。在C语言的printf函数中,通过引入星号(*)作为占位符,可将宽度和精度参数从编译时静态值转变为运行时动态变量,极大提升了输出控制的灵活性。这一特性在需要根据数据动态调整格式的场景中具有重要技术价值,例如生成自适应宽度的表格、安全处理非终止字符串以及实现可配置的日志系统。本文聚焦于%*s、%.*s和%-.*s这三个动态格式指定符,通过对比其参数顺序与行为

weixin_34331102的博客 379

C语言中%*s,%*c 是什么意思(还有%*.*s)

在 scanf 和 printf 里效果是不一样的。 在printf,动态控制显示格式用的 printf("%*s",5,"123");执行一下,这条语句,输出##123(#代表一个空格)类似于%5d 这样的状况这里*被常量5代替,用于控制最小字符宽度,主要是针对,最小字符宽度未知的情况,当然*可以对应整型变量 在 scanf 里的意思,表示忽略要读的项。比如 %*d 就是读一个 %d 该读...

weixin_30908649的博客 4880
上一篇: VC++开发BHO插件——定制你的浏览器
下一篇: 编码转换
cation
博客等级 码龄24年 33粉丝 1原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值