C语言自定义一个函数int length(char *s),函数返回字符串s的长度。

自定义一个函数int length(char *s),函数返回字符串s的长度。在main函数中输入字符串(长度小于80),调用该函数并输出其长度多组测试数据,每组输入一个任意字符串(长度小于80)

效果包你满意, 亲~~~

#include <stdio.h>

int length(char *s);

int main(void)
{
int len;
char str[80];
char ch;
do
{
printf("Enter string(whthin 80 characters): ");
gets(str);
len = length(str);
printf("输入字符串的长度为:%d\n", len);

printf("\nDo you want continue y/n: \n");
scanf(" %c", &ch);
while ('\n' != getchar())
{
continue;
}
}while('y' == ch || 'Y' == ch);
printf("Bye\n");
return 0;
}

int length(char *s)
{
int i=0;
int count = 0;//计数
while ('\0' != s[i])
{
count++;
i++;
}
return count;
}
测试结果:
Enter string(whthin 80 characters): fjalsjdlafjfalj ajsdf
输入字符串的长度为:21

Do you want continue y/n:
y
Enter string(whthin 80 characters): jlsdjflsjafjw w jljsl
输入字符串的长度为:21

Do you want continue y/n:
y
Enter string(whthin 80 characters): jsljfljxooa sjldj
输入字符串的长度为:17

Do you want continue y/n:
n
Bye
Press any key to continue
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-20
假设以输入 END 作为结束。

#include <stdio.h>

int length(char *s);

int main(int argc, char *argv[])
{
int l;

char s[80]=;
do

{

gets(s);

l=length(s);

printf("Length=%d\n",l);

}while(strcmp(s,"END"));

return 0;

}

int length(char *s)
{
char *p=s;

int l=0;

while(*p!=NULL)

{

p++;

l++;

}

return l;

}本回答被提问者和网友采纳
第2个回答  2013-05-20
#include <stdio.h>
int length(char *s)
{
    int len = 0;
    while (*(s + len) != '\0') len++;
       
    return len;
}
int main()
{
    char s[80] = {0};
    while (1)
    {
        scanf("%s", s);
        printf("length = %d\n", length(s));
    }
       
    return 0;
}

第3个回答  2013-05-20
#include<stdio.h>
int length(char *s){
    int ret = 0;
    while(*s++) ret++;
    return ret;
}
int main(){
    char str[80];
    while(scanf("%s",str) != EOF)
        printf("length = %d\n",length(str));
    return 0;
}

第4个回答  2013-05-20
#include <stdio.h>
int length(char *s)
{
    int i;
    for(i=0;s[i]!='\0';i++);
    return i;
}
int main()
{
    char str[80];
    gets(str);
    while(str[0]!='\0')
    {
        printf("%d\n", length(str));
        gets(str);
    }
}

相似回答