1.你的字符串输入函数格式不对,scanf("%s",A);应改为scanf("%s",a);数组名a就是这个数组的首地址指针(可以这么理解)。
10年积累的成都网站设计、做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有舞钢免费网站建设让你可以放心的选择与我们合作。
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));
}
#include stdio.h
int main()
{
char str[100];
gets(str);
char *s = str;
int count =0;
while(*s){
count++;
s++;
}
printf("Length of the string is %d\n",count);
return 0;
}
int
strlen(char
*pchar)
{
int
nlen
=
;
while
(pchar[nlen]
!=
'\0')
{
nlen
++
;
}
return
nlen
;
}
因为字符串都是以一个\0结尾的
所以说计算出字符串长度的方法很多