/*storage.c*/main() { int number, storage; puts("Введите значение переменной"); scanf("%d", &number); storage = number; puts("Введите значение переменной"); scanf("%d", &number); printf("Исходное значение: %d\n", storage); printf("Новое значение: %d", number); }
Рис.12. Присваивание переменной нового значения
Ввод значения переменной number обеспечивается следующими инструкциями:
puts("Введите значение переменной");scanf("%d", &number);
Сохранение значения переменной number в переменной storage выполняет инструкция:
storage = number;
Для ввода второго значения переменной number используются точно такие же инструкции, как и в первом случае. Оба значения, старое и новое, позже могут быть отражены на экране. Прежнее содержимое переменной не было утеряно просто потому, что было сохранено в другой области памяти, как показано на рис.12.
| Вопросы
|
- В чем смысл выражения «чистый вход — чистый выход»?
- Почему после ввода с использованием функции getchar() нет необходимости нажимать клавишу Enter?
- Назовите два способа использования функции getchar().
- Что такое оператор получения адреса?
- Какие преимущества дает использование функции scanf()?
- Что такое преобразователи символов?
- Почему для ввода строки лучше использовать функцию gets(), а не scanf()?
- В чем преимущества и недостатки форматированного ввода при помощи scanf()?
- Является ли необходимым присваивание всем переменным начальных значений?
- Какие трудности могут возникнуть при использовании функции scanf() для ввода значения переменной типа char?
|
| Упражнения
|
- Напишите программу, в которой вводится, а затем отображается на экране монитора в одной строке ваше имя и номер телефона.
- Напишите программу, в которой вводится число, а затем на экран выводится адрес области памяти, куда было записано это число.
- Напишите программу, в которой вводятся три числа, а затем эти числа отображаются на экране в порядке, обратном тому, в котором их вводили.
- Напишите программу, в которой используются функции getchar(), gets() и scanf().
5. Объясните, почему следующая программа написана неправильно:
main() { char initial; initial = gets(); puts(initial); } |