Informatică, întrebare adresată de paulb007, 8 ani în urmă

#include


using namespace std;


int main()

{ char sir1[10]="foAiE", sir2[10]="VER";

if ( sir1 < sir2 )
cout < < sir1 ;
else cout < < sir 2;

return 0;


DE ce se afiseaza "VER", gen de ce literele mari > litere mici.... ca la codul ascii literele mari au 'codul numeric mai mic ca cele cu litere mici' care ar fi explicatia?

Răspunsuri la întrebare

Răspuns de boiustef
0

Răspuns:

Explicație:

sirurile de caractere se compara caracter cu caracter, primul cu primul, al doilea cu al doilea ....

Faca la compararea primelor caractere 'f' < 'V' este fals, deci se va afisa sir2

if ( sir1 < sir2 )

cout << sir1 ;

else cout < < sir 2;

in datele probleme sir1<sir2 e fals, deci se afiseaza ce e dupa else, adica sir2

Daca a fost pusa conditia sa se afiseze sirul mai mic, atunci codul asta si face....


paulb007: da, ai dreptate, mersi, insa am vazut ca la sfarsitul cartii scrie ca da eroare de compilare din cauza conditiei sir1 < sir2, gen cum compara tot sirul sau litera cu litera (daca e doar sir 1 > sir2 nu sir1[i] sper ca intelegi ce vreau sa zic)? ca nu ai pus un for sau o functie...
boiustef: ai dreptate... sirurule se compara cu functia strcmp(sir1,sir2) ....
Alte întrebări interesante