Hamar C...

Andras Tantos andras at tantosonline.com
Thu Jun 30 19:40:48 CEST 2005


Hali!

>>> ez mit is csinal?
>>>
>>> mul = (type == fontType3) ? fontMat[0] : 0.001;
>
> Gabor> Ha type egyenlo fontType3, akkor mul=fontMat[0], egyebkent 
> mul=0.001
>
> Gabor> Tulajdonkeppen
> Gabor> if (type==fontType3) mul=fontMat[0]; else mul=0.001;
>
> akkor miert nem azt irja? :-)

A kulonbseg a ketto kozott, hogy az 'if' egy utasitas, mig a '?' egy 
kifelyezes. Azaz a '?' hasznalhato parameterkent, meg egyaltalan barhol, 
ahol a kifelyezes ertekere van szukseg. A tipikus C hasznalat:

#define max(a,b) ((a)>(b)?(a):(b))

Ezt nem tudnad if-fel megoldani, ugy, hogy ne kelljen fuggvenyt irnod ra. 
Hogy itt fent miert ezt hasznalja, az mar mas kerdes, es inkabb izles dolga. 
En szemely szerint akkor hasznalok '?'-et, ha az ertekadast akarom 
hangsulyozni, es 'if'-et ha a program vezerlesi strukturajanak a logikajat.

Udv,
Tantos Andras




More information about the Elektro mailing list