sprintf函数用法注意事项

sprintf函数用法注意事项注意字符串格式化时不要,输入和输出参数不要使用同一个字符数组。springt函数处理流程分析:输入和输出参数不同sprintf(str2,“ab%s”,str):输入和输出参数相同sprintf(str,“ab%s”,str):示例#include<stdio.h>intmain(){ charstr[10]=”0123456789″;…

大家好,又见面了,我是你们的朋友全栈君。

注意

字符串格式化时不要,输入和输出参数不要使用同一个字符数组。
springt函数处理流程分析:

  • 输入和输出参数不同sprintf(str2, “ab%s”,str):
    在这里插入图片描述

  • 输入和输出参数相同sprintf(str, “ab%s”,str):
    在这里插入图片描述

示例

#include <stdio.h>

int main()
{ 
   
	char str[10] = "0123456789";
	char str2[10] = "";
	str[0] = 0;
	str[1] = 0;
	str[2] = 0;
	str[3] = 0;
	for(int i = 0;i<10;i++){ 
   
		printf("1-str_c[%d] = %c\n",i,str[i]);	
	}
	printf("1-str = %s\n",str);
	//str格式化到str2
	sprintf(str2, "ab%s",str);
	
	for(int i = 0;i<10;i++){ 
   
		printf("2-str2_c[%d] = %c\n",i,str2[i]);	
	}	
	printf("2-str2 = %s\n",str2);
	for(int i = 0;i<10;i++){ 
   
		printf("3-str_c[%d] = %c\n",i,str[i]);	
	}	
	printf("3-str = %s\n",str);
	//str格式化到str(注意:这个地方输出结果)
	sprintf(str, "ab%s",str);
	for(int i = 0;i<10;i++){ 
   
		printf("4-str_c[%d] = %c\n",i,str[i]);	
	}	
	printf("4-str = %s\n",str);
   	return(0);
}

下面是打印结果:

1-str_c[0] = 
1-str_c[1] = 
1-str_c[2] = 
1-str_c[3] = 
1-str_c[4] = 4
1-str_c[5] = 5
1-str_c[6] = 6
1-str_c[7] = 7
1-str_c[8] = 8
1-str_c[9] = 9
1-str = 
2-str2_c[0] = a
2-str2_c[1] = b
2-str2_c[2] = 
2-str2_c[3] = 
2-str2_c[4] = 
2-str2_c[5] = 
2-str2_c[6] = 
2-str2_c[7] = 
2-str2_c[8] = 
2-str2_c[9] = 
2-str2 = ab
3-str_c[0] = 
3-str_c[1] = 
3-str_c[2] = 
3-str_c[3] = 
3-str_c[4] = 4
3-str_c[5] = 5
3-str_c[6] = 6
3-str_c[7] = 7
3-str_c[8] = 8
3-str_c[9] = 9
3-str = 
4-str_c[0] = a
4-str_c[1] = b
4-str_c[2] = a
4-str_c[3] = b
4-str_c[4] = 
4-str_c[5] = 5
4-str_c[6] = 6
4-str_c[7] = 7
4-str_c[8] = 8
4-str_c[9] = 9
4-str = abab

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/150225.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • android面试题2022

    android面试题2022面试题除了你不会的其余都会,除了你知道的其余都知道,除了你答不上来的答上来了。不积跬步无以至千里,多思考多学习,祝你早日成为大佬。一、mt1.内存优化常用手段2.leacknanry的原理3.腾讯bugly原理4.自己实现一个日志收集的思路,如何收集crash信息5.handler原理及源码6.常见的内存泄漏的方式7.bitmap是在什么内存里1android2.2(APIlevel8)和更早的版本,垃圾回收时,会阻塞UI线程,造成卡顿。而2.3(APIle

  • int* a和int *a_int和char的区别

    int* a和int *a_int和char的区别工作中经常碰到int8_t、int16_t、int32_t、int64_t、uint8_t、size_t、ssize_t等数据类型,所以有必要对此进行梳理。int_t同类int_t为一个结构的标注,可以理解为type/typedef的缩写,表示它是通过typedef定义的,而不是一种新的数据类型。因为跨平台,不同的平台会有不同的字长,所以利用预编译和typedef可以最有效的维护代码。…

  • redis锁实现_IDEA使用try

    redis锁实现_IDEA使用tryWeb全栈~35.显式锁上一期接口Lock显式锁接口的定义       lock()/unlock():就是普通的获取锁和释放锁方法,lock()会阻塞直到成功。       lockInterruptibly():与lock()的不同是,它可以响应中断,如果被其他线程中断了,则抛出InterruptedException。  &nbsp

    2022年10月15日
  • 《Python编程从入门到实践》— 学习过程笔记(2)变量和简单数据类型

    《Python编程从入门到实践》— 学习过程笔记(2)变量和简单数据类型《Python编程从入门到实践》— 学习过程笔记(2)变量和简单数据类型

  • c语言输入输出格式

    c语言输入输出格式//最近被某题的输入输出卡了。。。转一波随时看。。。菜哭&lt;spanstyle="font-family:KaiTi_GB2312;font-size:18px;"&gt;本小节介绍的是向标准输出设备显示器输出数据的语句。在C语言中,所有的数据输入/输出都是由库函数完成的。因此都是函数语句。本小节先介绍printf函数和putchar函数。printf函数printf函数称为格式输出函数,其…

  • ip addr add配置ip_ip helper-address

    ip addr add配置ip_ip helper-addressbroadcastADDRESS—-协议广播地址,可以简写成brd,此外可以简单的在后面加上”+”表示广播地址由协议地址加主机位全置1组成,”-“则表示主机位全置0。例如你的配置:ipaddradd127.0.0.1/8devlobrd+则表示广播地址为127.255.255.255,网络地址(前8位)为127,主机地址(后面的24位)全为1,加起来为广播地址。扩展:ipad…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号