Інформатика
Структура програми. Базові типи даних : Функція scanf()
 

Функція scanf()

     Для введення інформації зі стандартного потоку введення використовується функція scanf().      Синтаксис :
scanf("Рядок формату",&аргумент1[,&аргрумент2[, ...]]);.
     Так, як і для функції printf(), для функції scanf() вказується рядок формату і список аргументів. Суттєва відмінність у синтаксисі цих двох функцій полягає в особливостях даного списку аргументів. Функція printf() використовує імена змінних, констант та вирази, в той час, як для функції scanf () вказується тільки покажчики на змінні.
     Поширеною помилкою використання scanf() у початківців є звертання: scanf("%d",n) замість scanf("%d",&n).

     Параметри цієї функції обов'язково повинні бути покажчиками!
     Функція scanf() використовує практично той же набір символів специфікації, що і функція printf().

Приклад 5. Використання функції введення.
#include <stdio.h>
int main()
{
     int a,b,c;
     printf("A=");
     scanf("%d",&a);
     printf("B=");
     scanf("%d",&b);
     c=a+b;
     printf("A+B=%d",c);
}
     Більшість реалізацій мови С дозволяють пов'язувати імена stdin та stdout не тільки з клавіатурою та екраном, а й із зовнішніми файлами. Для цього в рядку виклику С програми необхідно вказати імена цих файлів. Якщо перед ім'ям файла введення поставити знак <, то даний файл буде пов'язаний з потоком введення.
prog < file.in
     В даному прикладі інформація читається з файла file.in поточного каталогу, а не з клавіатури, тобто цей файл стає стандартним файлом введення, на який вказує stdin.
prog > file.out
     А при такому виклику програми інформація виводиться не на екран, а у файл file.out.
Якщо необхідно читати інформацію з одного файла, а результати записувати у інший одразу, виклик програми буде мати вигляд :
prog < file.in > file.out .

 
© 2008 ХНУРЭ, Інформатики, Сінельнікова Т.Ф., informatika@kture.Kharkov.ua
Розроблено за допомогою LERSUS