gcc - vyhodnoceni podminek
Jacek Kopecky
kopeckyj na inf.upol.cz
Pátek Říjen 30 12:30:15 CET 1998
> V podmienke if(count > 1 && *param[1]=='a') sa najprv vyhodnoti count>1
> a potom *param[1]=='a' a az nakoniec sa urobi &&. No a ak nezadate
> ziaden parameter tak *param[1] pristupi k cudzej pamati a program spadne
> a vytvori sa core dump.
Dobry den.
Toto je spatne. Podle standardu (ansi) cecka, pokud se u operatoru && a ||
da rozhodnout uz podle leve strany, pak se prava nevyhodnocuje. Takze program
je spravne, chyba je v tom printf ("Err\n", *param[1]), protoze cecko se
snazi predat fci printf bajt, ktery je na adrese param[1], a k tomu nemuze.
Zdravi
Jacek Kopecky
E-mail: jacek.kopecky na upol.cz (ISO Latin 2 compatible)
WWW: http://www.upol.cz/~kopeckyj
Další informace o konferenci Linux