扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
第一个横线应该是输入的终止标志,可能是读入某个字符后终止读入,但你题目中没给出来。
创新互联建站-云计算及IDC服务提供商,涵盖公有云、IDC机房租用、成都多线服务器托管、等保安全、私有云建设等企业级互联网基础服务,服务电话:028-86922220
第二个横线应该填i=i+1
1.你的字符串输入函数格式不对,scanf("%s",A);应改为scanf("%s",a);数组名a就是这个数组的首地址指针(可以这么理解)。
2.你的计算字符串长度的函数有问题,首先i没有初始化为0,其次sum不能累加i,直接返回i即可;还有那个空字符的斜杆打反了。
3.你的求字符串长度的函数返回了一个只但是却定义为void无返回值型。
4.最后输出函数里面直接输出了局部变量sum(这本来是一个错误),又没要调用计算字符串长度的那个子函数。
修改后的程序:
#include
stdio.h
#define
A
20
int
qiuchangdu(char
*p)
{
int
sum=0;
while(*p++!='\0')sum++;
return
sum;
}
void
main()
{
char
a[A];
printf("请输入一串字符串");
scanf("%s",a);
printf("字符串长度为:%d\n",qiuchangdu(a));
}
遍历字符串,直到遇到\0结束。这时数组的下标值,即为字符串长度。
代码如下:
#include stdio.h
int main()
{
char s[100];
int i;
scanf("%s",s);//输入字符串。
for(i = 0; s[i]!='\0'; i ++);//循环体为空,退出时i值即为字符串长度。
printf("%d\n", i); //输出。
return 0;
}
#include
int
stringlength(char
*str)/*函数,求一个字符串的长度*/
{
int
length=0;
while(*(str++)!='\0')
length++;
return
length;
}
int
main()
{
char
s[1000];
printf("请输入字符串s,长度不超过1000:\n");
scanf("%s",s);
int
len
=
stringlength(s);
printf("输入字符串s的长度为:%d\n",len);
return
0;
}
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流