Программа для поиска длины строки - PullRequest
0 голосов
/ 16 апреля 2011

Вот мой код:

#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 ]

8 голосов
/ 16 апреля 2011

Избавьтесь от новой строки в scanf.

scanf("%s",s);

Это должно заставить этот код работать.

Но я не могу понять, почему вы написали функцию для вычисления длины строки, если вам пришлось использовать strlen().

HTH,
Sriram.

1 голос
/ 16 апреля 2011
const size_t sillyStrlen(const char* text) {
  if (*text) {
    return sillyStrlen(text + 1) + 1;
  }
  return 0;
}
1 голос
/ 16 апреля 2011

Вы звоните strlen вместо своего string_length в main.

0 голосов
/ 16 апреля 2011

Попробуйте это.

#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;
    }
0 голосов
/ 16 апреля 2011
  1. Купить книгу, см. Руководство и список книг Definitive C
  2. Читать о синтаксисе языка
  3. Узнайте, как использовать указатели
  4. Вы только что узнали, как написать функцию int strlen(char[]).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...