一个程序来查找字符串的长度

时间:2011-04-16 10:00:15

标签: c

这是我的代码:

#include<stdio.h>
#include<string.h>
int string_length(char s[]);
main()
{
        char s[50];
        int l;
        printf("Enter the string\n");
        scanf("%s\n",s);
        l=strlen(s);
        printf("Length of string = %d\n",l);
}
int string_length(char s[])
{
        int i;
        i=0;
        while(s[i] != '\0')
                ++i;
                return i;

}

编译后扫描两个输入值。

我的代码出了什么问题?

5 个答案:

答案 0 :(得分:8)

摆脱scanf

中的换行符
scanf("%s",s);

这应该让这段代码有效。

但是如果必须使用strlen(),我无法理解为什么你编写了一个计算字符串长度的函数。

HTH,
斯利拉姆。

答案 1 :(得分:1)

const size_t sillyStrlen(const char* text) {
  if (*text) {
    return sillyStrlen(text + 1) + 1;
  }
  return 0;
}

答案 2 :(得分:1)

您在strlen中呼叫string_length而不是您自己的main

答案 3 :(得分:0)

  1. 购买一本书,请参阅The Definitive C Book Guide and List
  2. 了解语言语法
  3. 了解如何使用指针
  4. 您刚学会了如何编写int strlen(char[])函数。

答案 4 :(得分:0)

试试这个。

#include<stdio.h>
#include<conio.h>
#include<string.h>
int main()
   {
    char *str;
    printf("Enter a string\n");
    gets(str);
    printf("The size of the string is %d",strlen(str));
    getch();
    return 0;
    }