Где здесь может быть ошибка? - C (СИ)
Формулировка задачи:
Подскажите пж, Где здесь может быть ошибка?
#include <stdio.h> void main() { char text[100] int i, k=0; gets(text); for(i=0;i<100;i++) { if(text[i]>='0'&&text[i]<='9') k++; } printf("%d",k); }
Решение задачи: «Где здесь может быть ошибка?»
textual
Листинг программы
#include <stdio.h> int main() { char text[100]; // <- точки с запятой не было int i, k=0; gets(text); for(i=0; text[i]; i++) // <- условие было не правильное if(text[i]>='0' && text[i]<='9') k++; printf("%d\n",k); return 0; }
Объяснение кода листинга программы
- В начале программы подключается библиотека
, которая позволяет использовать функции для работы с консолью. - В функции main() объявляются две переменные: text типа char с длиной 100 символов и i типа int.
- Затем объявляется переменная k типа int со значением 0.
- С помощью функции gets(text) вводится строка в переменную text.
- В цикле for перебираются все символы в строке text.
- Внутри цикла проверяется, является ли текущий символ числом от 0 до 9.
- Если символ является числом, то значение переменной k увеличивается на 1.
- После окончания цикла выводится значение переменной k с помощью функции printf().
- В конце программы возвращается 0, чтобы указать, что программа успешно завершилась.
- Ошибка в коде заключается в неправильном условии в цикле for. Вместо text[i] должно быть *(text+i).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д