字符串长度 帮看一下 错在哪
来源:百度知道 编辑: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呢
请计算输入字符串的长度。
输入
首先输入一个整数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<