em Posted January 22, 2012 Report Share Posted January 22, 2012 E?ti la un interviu ?i ?i se pun în fa?? liniile de cod.int x,y;scanf("%d"+scanf("%d%d", &x, &y));Merge? Dac? da, de ce ?i ce face? Dac? nu merge ce eroare arunc? compilatorul?R?spunsuri aici. Nu compila?i ?i da?i r?spunsul, nu c?uta?i pe Google, nu da?i copy/paste la r?spunsurile altora. 1 Quote Link to comment Share on other sites More sharing options...
Zamolxis666 Posted January 22, 2012 Report Share Posted January 22, 2012 Merge. scanf intoarce numarul de elemente care au fost citite cu succes.Pe aceeasi tema:int a = 1;int b = 2;printf("%d", a+++;ce se afiseaza in urma executiei functiei printf? Quote Link to comment Share on other sites More sharing options...
pr00f Posted January 22, 2012 Report Share Posted January 22, 2012 int x,y;scanf("%d"+scanf("%d%d", &x, &y));Merge, ar trebui s? citeasc? ceva de la tastatur?.Merge. scanf intoarce numarul de elemente care au fost citite cu succes.Pe aceeasi tema:int a = 1;int b = 2;printf("%d", a+++;ce se afiseaza in urma executiei functiei printf?M? bate gândul s? spun c? exist? doua posibilit??i, dar îmi amintesc clar lec?ia de la liceu unde înv??am ordinea în care erau citite comenzile (exprimarea pulii, dar în?elege?i). Ideea e c? se ia a cu valoarea ini?ial? (apoi se incrementeaz?, ++-urile sunt la final) ?i se adun? cu b. Quote Link to comment Share on other sites More sharing options...
tjt Posted January 22, 2012 Report Share Posted January 22, 2012 Merge. scanf intoarce numarul de elemente care au fost citite cu succes.Pe aceeasi tema:int a = 1;int b = 2;printf("%d", a+++;ce se afiseaza in urma executiei functiei printf?Este vorba de modul in care sunt plasati operatorii de incrementare .Pentru x=a++ avem : x=a;a=a+1;Pentru x=++a avem;a=a+1;x=a;Va afisa : 3 Quote Link to comment Share on other sites More sharing options...
Zamolxis666 Posted January 22, 2012 Report Share Posted January 22, 2012 Este vorba de modul in care sunt plasati operatorii de incrementare .Pentru x=a++ avem : x=a;a=a+1;Pentru x=++a avem;a=a+1;x=a;Va afisa : 3corect Quote Link to comment Share on other sites More sharing options...
pr00f Posted January 22, 2012 Report Share Posted January 22, 2012 corectM? bate gândul s? spun c? exist? doua posibilit??i, dar îmi amintesc clar lec?ia de la liceu unde înv??am ordinea în care erau citite comenzile (exprimarea pulii, dar în?elege?i). Ideea e c? se ia a cu valoarea ini?ial? = 1 (apoi se incrementeaz?, ++-urile sunt la final) ?i se adun? cu b = 2 . 1 + 2 = 3?i vrei s? spui c? rezolvarea mea nu este corect? ? Quote Link to comment Share on other sites More sharing options...
Krisler12™ Posted January 22, 2012 Report Share Posted January 22, 2012 Merge, ar trebui s? citeasc? ceva de la tastatur?.int x,y;scanf("%d"+scanf("%d%d", &x, &y));Nu trebuia sa fie virgula in loc de plus ?int x,y;scanf("%d",scanf("%d%d", &x, &y)); Quote Link to comment Share on other sites More sharing options...
Nytro Posted January 22, 2012 Report Share Posted January 22, 2012 "dfsdfdsf" - sir de caractere, pointer la sir de caractere terminat in NULL"%d" - idem mai sus"%d" + 2 - idem mai sus, +2 la adresa pointerului Quote Link to comment Share on other sites More sharing options...
Krisler12™ Posted January 22, 2012 Report Share Posted January 22, 2012 Si-atunci practic ce face scanf("%d"+scanf("%d%d", &x, &y)); ? Quote Link to comment Share on other sites More sharing options...
Nytro Posted January 22, 2012 Report Share Posted January 22, 2012 E scanf, citeste. Returneaza 0 in caz de eroare, ceea ce probabil se intampla si aici, sau numarul de chestii citite.Aici, citeste "%d" + 2. Acel "%d" e in memorie % d NULL, deci practic e un: scanf(NULL); adica returneaza 0.Oricum nu e afisat nimic, dar asa functioneaza. 1 Quote Link to comment Share on other sites More sharing options...