字符串长度 帮看一下 错在哪

来源:百度知道 编辑:UC知道 时间:2024/09/25 03:21:26
题目描述

请计算输入字符串的长度。

输入

首先输入一个整数n代表有n组数据。
随后每组数据占一行,为需要判断的字符串(不超过80个字符)。

输出

对应每组数据输出一行,为该行字符串的长度(不包括'\0')。

样例输入

4
abcdefg
a b c de f g
length is 345
Happy New Year!

样例输出

7
12
13
15
#include<stdio.h>
int main()
{
int n,j,i;
scanf("%d",&n);
for(j=1;j<=n;j++)
{
char jc24[81];
gets(jc24);
for(i=0;jc24[i]!='\0';i++);
printf("%d\n",i);
}
system("pause");
return 0;
}
开始为什么是0呢

因为第一个 gets “可能”获取了回车符,所以有错
建议这样写
#include<stdio.h>
int main()
{
int n,j,i;
scanf("%d",&n);
char jc24[81];
gets(jc24);
for(j=1;j<=n;j++)
{
gets(jc24);
for(i=0;jc24[i]!='\0';i++);
printf("%d\n",i);
}

return 0;
}

#include <stdio.h>
#include <string.h>
main()
{
char a[80];
int b[10],i,n;
printf("请输入行数:");
scanf("%d",&n);
getchar();
for(i=0;i<n;i++)
{
gets(a);
b[i]=strlen(a);
}
for(i=0;i<n;i++)
printf("%d\n",b[i]);
}

这么改一下:

#include "stdio.h"
#include "stdlib.h"

#include<stdio.h>
int main()
{
int n,j,i;
scanf("%d",&n);
for(j=1;j<