C语言中将字符串打印成指定长度的方法
2022-12-14 · 百度认证:北京惠企网络技术有限公司官方账号
好用的扩展就是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字节,剩下的字符将留在缓冲区内,等待下一次读取。