Посчитать число букв в слове - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Пытаюсь посчитать число букв в слове. Компилируется, но выводит неправильный ответ.
#include<stdio.h>
 
int main(){
        char *word[]= {"yes"};
        char *letter;
        int i = 0;
        letter = word[0];
        while(letter!=" "){
        printf("%c\n",*letter);
        letter++;
        i++;
        }
printf("%d\n",i);

return 0;
}
Выводит на экран следующее:

→ ./letters y e s % c 8

Вроде абсолютно легкая программа, но все же...???

Решение задачи: «Посчитать число букв в слове»

textual
Листинг программы
#include <stdio.h>
 
int main() {
    char* word[] = {"yes"};
    char* letter;
    int i = 0;
    letter = word[0];
    while (*letter != '\0' && *letter != ' ') {
        printf("%c\n", *letter);
        letter++;
        i++;
    }
    printf("%d\n", i);
 
    return 0;
}

Объяснение кода листинга программы

В этом коде используется язык C. Он объявлен в директиве #include <stdio.h>, которая подключает к программе функции файла стандартного ввода/вывода, нужные для отправки сообщений в консоль. Список переменных в этом коде:

  1. word[] — массив указателей на строки. В данном случае он содержит всего один указатель на строку yes.
  2. letter — указатель на отдельную букву в строке.
  3. i — счётчик количества букв. В первой строке кода инициализируется переменная word[] как массив указателей на строки. В качестве строки используется yes. Затем объявляется переменная letter и инициализируется первым указателем из массива word[] (то есть, word[0]). Далее, в цикле while происходит следующее:
  4. Переменная letter увеличивается на единицу.
  5. В консоль выводится текущая буква.
  6. Переменная i увеличивается на единицу. Цикл выполняется до тех пор, пока не будет достигнута конечная буква строки (то есть, пока не будет встречен нулевой символ) или пробел. После завершения цикла выводится количество букв в строке. В конце программы возвращается ноль, что означает успешный конец работы программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.25 из 5
Похожие ответы