Výsledky 1 až 8 z 8

Téma: [C] Vyhodnocovani vyrazu

  1. #1
    Junior Member
    Založen
    22.05.2003
    Bydliště
    Veselí nad Moravou
    Příspěvky
    7
    Vliv
    0

    Standardní [C] Vyhodnocovani vyrazu

    Zdravim. Zrejme budu vypadat jako trouba, ale mam takovy mensi problem v C s vyhodnocvanim logickeho soucinu. Spis s jeho pochopenim.
    Zde je:

    int i=1;
    - no a ted budou nasledovat jednotlive priklady

    i=3 && i==3; vrati mi hodnotu i rovnou 0

    i=3 && (i==3); vrati mi hodnotu i rovnou 0

    (i=3) && (i==3); vrati mi hodnotu i rovnou 3

    (i=3) && i==3; vrati mi hodnotu i rovnou 3

    i==3 && i=3; hlasi error

    (i==3) && i=3; hlasi error

    i==3 && (i=3); vrati mi hodnotu i rovnou 1

    (i==3) && (i=3); vrati mi hodnotu i rovnou 1

    Nechapu postup jaky to vyhodnocuje (kazdy priklad zvlast).

    DIK
    AMD Athlon XP 1800+ BOX, ASUS A7N8X, ABIT Siluro GeForce 3 Ti200, KINGMAX 256 MB RAM (333)

  2. #2

    Standardní

    a) Logicky sucin (oznacuje sa &) nie je to iste, co &&.
    b) Bez zatvoriek su to nezmysly.
    c) Vyraz i=3 je priradenie (a ma hodnotu 3), kym vyraz i==3 je test, ci i sa rovna 3 (a ma hodnotu bud 0 alebo 1).
    1: Asus P2B 1.10 • Celeron 1100@1364/1.8V • 512MB SDRAM • Samsung SP1213N+WD AC28400 • Toshiba XM-6402B+SD-M1212 • PowerColor AR2L Radeon 9100 64MB • 3C900-Combo • Bt848A • ASB-3940UA • AWE-64 • DTK PTP-3007 • VisionMaster 405 • Umax UC630 • Star LC24-200 Colour 2: PCPartner TXB820DS • Cyrix MII PR300/1.8V • 256MB SDRAM • 2xSamsung HD400LD+IT8212F • Accesstek CW4001 • LS-120 • Mystique 4MB • Millennium II 4MB • 3C509 • CMI8329A+Dream MIDI • ADI ProVista E44 • SyncMaster 203B Notebook: DTK FortisPro TOP-5A • P166MMX/1.8V • 80MB EDO • Hitachi 5K80 40GB • 12,1" TFT Router: A-Trend ATC-1425B • i486DX 50@33/5V • 48MB FPM • WD AC14300 • UMC UM9003F • HP PC LAN 16/TP+ Car: Mazda 323P BA • Z5 1489ccm, 65kW@5500rpm, 134Nm@4000rpm

  3. #3

    Standardní

    2Rainbow: logicky soucin se oznacuje && a bitovy soucin &

  4. #4

    Standardní

    Sorry, trochu som poplietol terminologiu
    Aby to bolo jasne:
    (54 && 84) = 1 (nemusi byt - zalezi od prekladaca - ale musi to byt vacsie ako nula)
    (54 & 84) = 20
    1: Asus P2B 1.10 • Celeron 1100@1364/1.8V • 512MB SDRAM • Samsung SP1213N+WD AC28400 • Toshiba XM-6402B+SD-M1212 • PowerColor AR2L Radeon 9100 64MB • 3C900-Combo • Bt848A • ASB-3940UA • AWE-64 • DTK PTP-3007 • VisionMaster 405 • Umax UC630 • Star LC24-200 Colour 2: PCPartner TXB820DS • Cyrix MII PR300/1.8V • 256MB SDRAM • 2xSamsung HD400LD+IT8212F • Accesstek CW4001 • LS-120 • Mystique 4MB • Millennium II 4MB • 3C509 • CMI8329A+Dream MIDI • ADI ProVista E44 • SyncMaster 203B Notebook: DTK FortisPro TOP-5A • P166MMX/1.8V • 80MB EDO • Hitachi 5K80 40GB • 12,1" TFT Router: A-Trend ATC-1425B • i486DX 50@33/5V • 48MB FPM • WD AC14300 • UMC UM9003F • HP PC LAN 16/TP+ Car: Mazda 323P BA • Z5 1489ccm, 65kW@5500rpm, 134Nm@4000rpm

  5. #5

    Standardní

    ja bych rekl:
    1, i==3 ma zde nejvetsi prioritu takze se provede prvni a je rovno 0 a nasledne i=3 dava ve vysledku 3 && 0 = 0
    2, prvni se vyhodnoti (i==3) coz je 0 a pak i=3 takze 3 && 0 = 0
    3, zavorky maji nejvyssi prioritu a && se vyhodnocuji zleva doprava takze prvni se vyhodnoti (i=3) nasledne (i==3) a tudiz vysledkem vyrayu bude 1 && 3 = 1 ale i=3
    4, obdobne jako u 3,
    5, + 6, prvni se vyhodnoti i==3 ale dale se vyhodnoti vysledek tehle oprace pouze s i!!! ktere je rovno 1 coz da sice vysledek 1 (1 && 1 = 1) ale ten je nasledne prirazen 3 protoze = ma nizsi prioritu nez &&
    1=3 nezle!!!
    7, prvni se provede zavorka (i=3) cehoz vysldek je 3 a pak se udela i==3 coze je 1 a 3 && 1 = 1
    8, nechapu. imho by to mela byt nula

    ale to je jen jak to chapu ja takze to muze klidne byt chybny vyklad

  6. #6

    Standardní

    Na Ccku je najlepsie to, ze napises program, ktory nieco robi, ale nevies zistit, co vlastne robi
    1: Asus P2B 1.10 • Celeron 1100@1364/1.8V • 512MB SDRAM • Samsung SP1213N+WD AC28400 • Toshiba XM-6402B+SD-M1212 • PowerColor AR2L Radeon 9100 64MB • 3C900-Combo • Bt848A • ASB-3940UA • AWE-64 • DTK PTP-3007 • VisionMaster 405 • Umax UC630 • Star LC24-200 Colour 2: PCPartner TXB820DS • Cyrix MII PR300/1.8V • 256MB SDRAM • 2xSamsung HD400LD+IT8212F • Accesstek CW4001 • LS-120 • Mystique 4MB • Millennium II 4MB • 3C509 • CMI8329A+Dream MIDI • ADI ProVista E44 • SyncMaster 203B Notebook: DTK FortisPro TOP-5A • P166MMX/1.8V • 80MB EDO • Hitachi 5K80 40GB • 12,1" TFT Router: A-Trend ATC-1425B • i486DX 50@33/5V • 48MB FPM • WD AC14300 • UMC UM9003F • HP PC LAN 16/TP+ Car: Mazda 323P BA • Z5 1489ccm, 65kW@5500rpm, 134Nm@4000rpm

  7. #7

    Standardní

    2 jedik
    ad 8: psal i vrátí 1, to je dobře, vyhodnotí (i==3) a skončí, protože výsledek je 0

  8. #8

    Standardní

    Citace Původně odeslal qwertik
    2 jedik
    ad 8: psal i vrátí 1, to je dobře, vyhodnotí (i==3) a skončí, protože výsledek je 0
    jo mas pravdu, jak me spravne v sz upozornil Irreligious jde o zkracene vyhodnoceni. na to jsem zapomel

Informace o tématu

Users Browsing this Thread

Toto téma si právě prohlíží 1 uživatelů. (0 registrovaných a 1 anonymních)

Podobná témata

  1. [C] Optimalizace programu
    Založil Anatolij v sekci fóra Programování
    Odpovědí: 17
    Poslední příspěvek: 02.09.2005, 12:15
  2. [C] blikani kursoru odstranit
    Založil valerius v sekci fóra Programování
    Odpovědí: 12
    Poslední příspěvek: 28.08.2005, 22:32
  3. [C] printf, sprintf a kontrola argumentu NULL pro %s
    Založil RayeR v sekci fóra Programování
    Odpovědí: 3
    Poslední příspěvek: 23.03.2005, 19:07
  4. [C] - cteni S.M.A.R.T. dat z disku
    Založil RayeR v sekci fóra Programování
    Odpovědí: 12
    Poslední příspěvek: 23.02.2005, 04:52
  5. [C] IDE Anjuta pod Linuxem - help!
    Založil D_a_v_i_d v sekci fóra Programování
    Odpovědí: 3
    Poslední příspěvek: 20.02.2005, 18:26

Pravidla přispívání

  • Nemůžete zakládat nová témata
  • Nemůžete zasílat odpovědi
  • Nemůžete přikládat přílohy
  • Nemůžete upravovat své příspěvky
  •