Citirea valorilor variabilelor int
Fie că avem declarate variabilele a, b și c:
int a, b, c;
Dacă dorim să atribuim o valoare variabilei a, vom folosi instrucțiunea:
scanf(”%d”, &a);
ceea ce în limbaj uman se înțelege ca: citește un număr întreg (%d) și înscrie-l în memorie pe adresa(&) variabilei a.
Pentru ca să facem comunicarea cu programul mai comodă, putem folosi instrucțiunile printf și scanf împreună:
printf(”introdu un număr: ”);
scanf(”%d”, &a);
Cu un singur apel al funcției scanf() pot fi citite mai multe date împreună, de exemplu trei numere concomitent:printf(”introdu trei numere: ”);
scanf(”%d %d %d”, &a, &b, &c);
ceea ce înseamnă că prima valoare va fi atribuită variabilei a, a doua – variabilei b, a treia – variabilei c. Dacă, de exemplu, vor fi introduse numerele 7, 9, 13 atunci variabila a va avea valoarea 7, b – 9, c – 13.
Citirea valorilor variabilelor float
Pentru a atribui valori variabilelor reale, vom folosi specificatorul de format %f:
Fie variabilele: float x, y;
pentru a le atribui valori, vom folosi instrucțiunile:
printf(”introdu două numere: ”);
scanf(”%f %f”, &x, &y);
Atenție! În numerele reale, partea întreagă este separată de cea fracționară prin . (punct) nu prin , (virgulă)!
Citirea unui caracter: char
Fie variabilele: char v1, v2, v3;
Cu instrucțiunile
printf(”introdu trei caractere: ”);
scanf(”%c%c%c”, &v1, &v2, &v3);
vom atribui acestor variabile valorile a trei caractere consecutive, citite de la tastatură.
Citirea unui șir de caractere (Calculatorul începe să ”vorbească”!)
Un șir de caractere este format din câteva caractere. Variabilele pentru stocarea șirurilor de caractere pot fi declarate, indicând între [] numărul maximal de caractere necesare:
char s[20], q[100];
s și q sunt șiruri de caractere.
Pentru a citi orice șir de caractere care nu conține spații putem folosi scanf() cu specificatorul de format %s:
printf(”Care este numele tau? \t”);
scanf(”%s”, s);
printf(”Salut, %s!”, s);
Observă: la citirea unui șir de caractere operația de adresare a variabilei (&) în care se va păstra șirul nu este obligatorie!