Я не могу на всю жизнь понять, почему мой код не производит нужный мне результат. Требование состоит в том, чтобы не использовать какие-либо функции. Когда я ввожу строку текста, типа «текст», результирующий массив «tex» отрезает последнюю букву, которая не имеет для меня никакого смысла.Получение пользовательского ввода и сохранение его в массиве в C
#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
#include <string.h>
int read_input(char line_of_text[])
{
int index = 0;
char ch;
// if(!line_of_text[0])
// return index;
for(ch = getchar(); ch != '\n' && ch != '\0'; ch = getchar()){
if(ch == EOF){ //clear string and return EOF
line_of_text[0] = '\0';
return EOF;
}
line_of_text[index++] = ch;
}
line_of_text[++index] = '\0';
return index;
}
'символ ч;' -> 'INT CH = 0; '' –
line_of_text [++ индекс] = '\ 0'; '->' line_of_text [index] = '\ 0 '; ' – jiveturkey
Почему вы очищаете строку при достижении EOF? –