17.04.2013 Views

Florian Moraru PROGRAMAREA CALCULATOARELOR în limbajul C

Florian Moraru PROGRAMAREA CALCULATOARELOR în limbajul C

Florian Moraru PROGRAMAREA CALCULATOARELOR în limbajul C

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Nu se recomandã citirea caracter cu caracter a unui sir, cu descriptorul “%c” sau<br />

cu functia “getchar()”, decât dupã apelul functiei “fflush”, care goleste zona tampon de<br />

citire. In caz contrar se citeste caracterul ‘\n’ (cod 10), care rãmâne <strong>în</strong> zona tampon<br />

dupã citire cu “scanf(“%s”,..) sau cu getchar().<br />

Pentru a preveni erorile de depãsire a zonei alocate pentru citirea unui sir se poate<br />

specifica o lungime maximã a sirului citit <strong>în</strong> functia “scanf”. Exemplu:<br />

char nume[30];<br />

while (scanf (“%30s”,nume) != EOF)<br />

printf (“%s \n”, nume); // numai primele 30 de caractere citite<br />

Memorarea unei liste de siruri se poate face <strong>în</strong>tr-o matrice de caractere <strong>în</strong> care<br />

fiecare linie din matrice reprezintã un sir, dar solutia este ineficientã dacã sirurile au<br />

lungime foarte variabilã, pentru cã numãrul de coloane din matrice este determinat de<br />

lungimea maximã a unui sir. Exemplu:<br />

char kwords [5][8] = {"int","char","float","long","double","short"};<br />

// cauta un cuvant in tabelul de cuv cheie<br />

int keyw ( char nume[8], char kw[][8], int n ) {<br />

int i;<br />

for (i=0;i

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!