C语言中将字符串打印成指定长度的方法

 我来答
惠企百科
2022-12-14 · 百度认证:北京惠企网络技术有限公司官方账号
惠企百科
惠企百科网是一家科普类综合网站,关注热门中文知识,集聚互联网精华中文知识,本着自由开放、分享价值的基本原则,向广大网友提供专业的中文知识平台。
向TA提问
展开全部

好用的扩展就是scanf()的“%ms”占位符。

介于%和s之间的m有measure(测量)的含义,它可以测量输入字符串的长度,scanf()根据字符串的长度分配内存,并将字符串拷贝到这段内存,之后将首地址返回给m。在使用完毕后,需要调用free()函数释放这段内存。

程序源代码如下:

#include<stdio.h>

intlength(char*p);

voidmain()

{

intlen;

char*str[20];

printf("pleaseinputastring:\n");

scanf("%s",str);

len=length(str);

printf("thestringhas%dcharacters.",len);

}

intlength(char*p)

{

intn;

n=0;

while(*p!='\0')

{

n++;

p++;

}

returnn;

}

扩展资料

1、在C语言程序开发中需要读取用户输入时,即使不能事先获知输入长度,也是有办法写出高稳定性的程序的。不过在实践中,一般不推荐使用scanf()函数处理用户输入,即使我们解决了输入长度的问题。

2、介于%和s之间的数字应小于name的长度,这个数字表示scanf()一次最多读取127字节的数据放入name。如果用户输入的字符串超出了127字节,剩下的字符将留在缓冲区内,等待下一次读取。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式