c语言如何计算n行字符串的长度?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言如何计算n行字符串的长度?相关的知识,希望对你有一定的参考价值。

输入不超过 100行的字符串,计算每一行字符串的长度并输入。 每一行的字符串长度不超过80个。
由于本题的输入的字符串中,有可能存在空格,所以建议使用 gets 来读取一整行。
scanf("%d", &n);
getchar();
上面的代码表示读入输入的行数并保存到n, getchar() 用于读取这个整数后面的换行符,以保证循环中的 gets 从下一行读取。
第1行是 n,接下来是n行字符串(感谢)

代码文本:

#include "stdio.h"

#include <string.h>

int main(int argc,char *argv[])  

char s[100][81];

int i,n;

printf("Enter n(int 0<n<101)...\\nn=");

if(scanf("%d",&n)!=1 || n<1 || n>100)

printf("Input error, exit...\\n");

return 0;

printf("Please enter %d strings...\\n",n);

getchar();

for(i=0;i<n;i++)

fgets(s[i],81,stdin);//代替gets(s[i]);,能限制长度为80

for(i=0;i<n;i++)

printf("The string %d's length is %d.\\n",i+1,strlen(s[i]));

return 0;

追问

你好请问为什么这个运行出来以后结果总会比实际大一个数值呢?

追答

用fgets接收的字符串,最后把打入的回车也接收了,所以测出的长度看起来要多一个。你改为gets就没有这事了,但gets不能限制长度,要人式控制长度不能越界。

参考技术A 计算长度有两个函数:strlen sizeof
strlen 计算字符串里面一共有多少个字符
sizeof 计算字符串占的总内存空间
如:
char str[20]="123456";
strlen(str);等于 6
sizeof(str); 等于20

C语言要限定输出字符串的长度应该怎么操作?

参考技术A 在C语言中,输入输出字符串有以下两种方式:\\r\\n1 用scanf/printf输入输出。\\r\\nscanf/printf是C语言的格式化输入输出函数,可以用于输入输出各种基础类型,字符串(char*)也在其支持范围内。\\r\\n格式化字符为%s。\\r\\n定义\\r\\nchar str[100];\\r\\n输入\\r\\nscanf("%s",str);\\r\\n输出\\r\\nprintf("%s",str);\\r\\n\\r\\n2 C语言还支持专门的字符串输入输出函数:gets/puts。\\r\\ngets的作用为,读入一行输入,并将读到的换行符替换为字符串结束符。\\r\\nputs的作用为,将字符串单行输出,即输出字符串内容后,会自动在结尾增加换行。\\r\\n定义\\r\\nchar str[100];\\r\\n输入\\r\\ngets(str);\\r\\n输出\\r\\nputs(str);

以上是关于c语言如何计算n行字符串的长度?的主要内容,如果未能解决你的问题,请参考以下文章

C语言字符串长度如何数?

C语言要限定输出字符串的长度应该怎么操作?

C 语言中怎么截取字符串的一部分

如何在c语言中计算字符串长度

C语言中如何获取数据长度?

C语言中怎么样数字符串的长度?