Мне нужно создать программу, которая читает строку «A = B» и выполняет поиск B в массиве переменных. Если он не находит B, он запрашивает его значение и помещает его в другой массив. Ну, я не знаю, если идея ясна, но вот пример:Программа «двойное чтение» строка
while(1){
printf("Get string\n");
gets(L);
if(L[0]=='\0') break;
if(L[2] == '1') {
printf("Value of 1: ");
scanf(" %lf", &m);
}
}
printf("\nbreak");
Мне нужно, что эта программа останавливается, когда мы набираем войти, так что я использовал, если (L [0] ==» \ 0 ') перерыв; для этого.
Моя проблема: каждый раз, когда я спрашиваю значение B, моя программа читает «строку-призрак» L, это значит, что я не могу поставить значение L и программа останавливается. Это почти двойное чтение строки, но оно ломается из-за условия L [0]! = '\ 0'. Что я делаю не так? Если мы удалим это условие, тогда программа напечатает 2 раза «Получить строку», не прося меня ввести строку 2 раза.
Почему бы вам не потратить немного времени, чтобы прояснить ваш комментарий. Это поможет всем нам. – Andromeda
Арадом, извините, если не ясно. Мне нужно сделать компилятор для арифметических выражений, и если переменная не находится в массиве переменных, когда я пытаюсь прочитать ее значение, моя программа также читает пустую строку L, прежде чем она попросит ввести другую строку L –
Giiovanna