Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

?: uslovni operator

[es] :: C/C++ programiranje :: ?: uslovni operator

[ Pregleda: 5251 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Nibble

Član broj: 63173
Poruke: 302
*.dlp267.bih.net.ba.



+1 Profil

icon ?: uslovni operator03.01.2006. u 12:55 - pre 173 meseci
Moze li mi ko objasniti ovaj operator.Nemogu nikako da shvatim njegovu namjenu.Da li moze neko navesti neki primjer gdje se koristi ovaj operator?
 
Odgovor na temu

vladab
Vladimir Bašanović
Beograd

Član broj: 9512
Poruke: 498
212.200.116.*



Profil

icon Re: ?: uslovni operator03.01.2006. u 13:12 - pre 173 meseci
da_li_je_ovo_tacno?ako_jeste_uradi_ovo:ako_nije_onda_uradi_ovo_drugo;

:O)
 
Odgovor na temu

Mali Misha
Mihajlo Anđelković
NBGD

Član broj: 79396
Poruke: 379
*.powernet.bg.

ICQ: 195487525
Sajt: cpptea.com


+1 Profil

icon Re: ?: uslovni operator03.01.2006. u 13:41 - pre 173 meseci
Primer
Code:
int sgn(double x)
{ return x < 0 ? -1 : !!x;}

Ipak se ++uje.
 
Odgovor na temu

Nibble

Član broj: 63173
Poruke: 302
*.dlp498.bih.net.ba.



+1 Profil

icon Re: ?: uslovni operator03.01.2006. u 13:47 - pre 173 meseci
Citat:
Mali Misha: Primer
Code:
int sgn(double x)
{ return x < 0 ? -1 : !!x;}


znaci ovdje bi vratio -1 ako je x > 0 a ako je x < 0 vratio bi !x.
Jesam li upravu?
 
Odgovor na temu

fearless

Član broj: 74584
Poruke: 156
212.62.59.*

Sajt: www.phearless.org


Profil

icon Re: ?: uslovni operator03.01.2006. u 13:48 - pre 173 meseci
Konkretan primer:

Code:
strncpy(filename, (strrchr(argv[1], '/') ? strrchr(argv[1], '/') + 1 : argv[1]), sizeof(filename));

Dakle, ukoliko je zadata putanja do fajla (npr. /home/shatter/test) ovo ce izdvojiti 'test'. Ovaj primer
sam dao jer sam pre 15 minuta pisao stvar koja je koristila to ;)

Mada ti je i vladab sve rekao :)


[Ovu poruku je menjao fearless dana 03.01.2006. u 14:49 GMT+1]
Phearless - Serbian/Croatian Security Magazine: www.phearless.org
 
Odgovor na temu

Mali Misha
Mihajlo Anđelković
NBGD

Član broj: 79396
Poruke: 379
*.powernet.bg.

ICQ: 195487525
Sajt: cpptea.com


+1 Profil

icon Re: ?: uslovni operator03.01.2006. u 14:01 - pre 173 meseci
Citat:
Mali Misha: Primer
Code:
int sgn(double x)
{ return x < 0 ? -1 : !!x;}

Ako je x < 0, vraca -1, u suprotnom !!x. Ove operatore mozes i nadovezivati:

Code:
int sgn(double x)
{
  return
  
  //A
  (
    (x < 0) ? (-1) :

     // B
     ( 
        (x > 0) ? (1) : (0)
     )
   )
   ;
}


A: "Ako je x < 0, vrati -1 a ako ne onda B"
B: "ako je x > 0, vrati 1, a ako ne onde 0"

Sve zagrade ( '(' i ')' ) u primeru su nepotrebne.
Ipak se ++uje.
 
Odgovor na temu

#Ninja#
Tuzla

Član broj: 28925
Poruke: 259
*.bih.net.ba.



+1 Profil

icon Re: ?: uslovni operator03.01.2006. u 23:55 - pre 173 meseci
A ? B : C

Ekvivalent:

if A
B;
else
C;
 
Odgovor na temu

Mali Misha
Mihajlo Anđelković
NBGD

Član broj: 79396
Poruke: 379
*.powernet.bg.

ICQ: 195487525
Sajt: cpptea.com


+1 Profil

icon Re: ?: uslovni operator04.01.2006. u 00:10 - pre 173 meseci
To, plus ima krajnju vrednost izraza B ili C, u zavisnosti od toga kojeg izvrsi.
Ipak se ++uje.
 
Odgovor na temu

[es] :: C/C++ programiranje :: ?: uslovni operator

[ Pregleda: 5251 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.