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

如题所述

好用的扩展就是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字节,剩下的字符将留在缓冲区内,等待下一次读取。

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网