У меня есть цикл while, который вводит пользовательский ввод до тех пор, пока пользователь не говорит о выходе, но я не уверен, как правильно объявлять строки. Если пользователь вводит только одно слово, вторая переменная останется прежним значением из предыдущего цикла.Как вы объявляете временные строки для повторного использования в C?
int main(int argc, char * argv[]){
char user_input[25];
char var1[25], var2[25];
while(strcmp(var1, "quit") != 0){
clear_buffer(user_input);
fgets(user_input, 30, stdin);
sscanf(user_input, "%s %s", var1, var2);
do_stuff(var1, var2);
}
printf("%s", "Done\n");
'fgets (user_input, 30' кажется неправильным, учитывая буфер только 25 байт. –
' var1' не инициализирован при первом входе в цикл. – chqrlie
@DigitalNinja : Я думаю, что некоторые команды имеют только одно слово, и в этом случае второе слово должно быть передано как строка с нулевой длиной. –