===== Правила оформления кода для лабораторных работ =====
==== Код должен содержать осмысленные, говорящие имена переменных и функций ====
Пример функции, которая считает, сколько раз символ letter встретится в строке string:
int letterCounter(char *string, char letter)
{
int letterCount = 0;
for(int i = 0; string[i]; i++)
if(string[i] == letter)
letterCount++;
return letterCount;
}
==== Исключение: имена переменных в цикле cо счётчиком ====
Пример использования цикла со счётчиком:
for(i = 0; i < array_size; i++){
... // тело цикла
}
==== Для считывания строк (в том числе с консоли) используйте функцию fgets. Запрещается использовать scanf и gets ====
Пример использования ''fgets'' для считывания с консоли:
int size = 100;
char string[size];
fgets(string,size,stdin);
Помимо функции ''fgets'' можно посимвольно считывать строку через ''getchar'', однако вариант с ''fgets'' является более правильным.
__**Если есть гарантии по условию**__, что на вход будет подаваться какой-то **один конкретный тип данных __кроме строки__** (например, целочисленное число),
то тогда можно использовать функцию ''scnaf''. Например, следующий код считывает число между двумя вертикальными чертами (например, ''|15|''):
int x;
scanf("|%d|", &x);
==== Освобождайте выделенную динамическую память ====
Пример выделения и освобождения памяти:
char* buffer = (char*)malloc(sizeof(char) * buffer_size);
...
free(buffer);