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 sizeofstrlen 计算字符串里面一共有多少个字符
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行字符串的长度?的主要内容,如果未能解决你的问题,请参考以下文章