Присвоение переменной char значения из командной строки - C (СИ)
Формулировка задачи:
Хочу поместить в переменную rest значеиние, вводимое в командной строке, но она все равно остается пуста! Подскажите, что делаю не так?
int _reset(){
char rest[1];
puts ("\nPoprobovat' snova? (Y/N) ");
scanf ("%d", rest[1]);
if (rest[1] == "y") {
_initial();
}
else {
return 0;
}
}Решение задачи: «Присвоение переменной char значения из командной строки»
textual
Листинг программы
int reset()
{
char rest;
puts("\nTry again?(y/n)");
scanf("%c", &rest);
if (rest == 'y')
initial();
else
return 0;
return 1;
}
Объяснение кода листинга программы
- В функции
reset()объявлена переменная типаcharс именемrest. - Функция
puts()выводит сообщениеTry again?(y/n). - Функция
scanf()считывает один символ из стандартного ввода и сохраняет его в переменнойrest. - С помощью оператора
==проверяется, равно ли значение переменнойrestсимволу 'y'. - Если значение переменной
restравно 'y', то вызывается функцияinitial(). - Если значение переменной
restне равно 'y', то возвращается ноль. - В противном случае, возвращается единица.