Ei toimi
y = x[i] = 2345;
Toimii
x[i] = y = 2345;
Miksi tuo ylempä ei toimine?
Ei anna virhet, mut ei ota arvojakaan vastaan.
y = x[i] = 2345;
Toimii
x[i] = y = 2345;
Miksi tuo ylempä ei toimine?
Ei anna virhet, mut ei ota arvojakaan vastaan.
Turvaa tilisi vahvistamalla puhelinnumerosi. Voit silloin palauttaa unohtuneen salasanan tekstiviestillä.
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 4
Vanhimmat
assembler listaus esiin, ja katso mitä kääntäjä touhuaa. vaikuttaa pahasti kääntäjän bugilta. Kannattaa myös hommata servicepackki/päivitys kääntäjään. Joskus jos optimoinnit ovat päällä rivejä katoaa, kääntäjän muka optimoidessa niitä.
Mitä tyyppiä muuttujat ovat ? Mikä on kääntäjä ?
IDE on Dev-C 4.9.9.2 joten kääntäjä taitaa olla GCC. WinXP alustana. Muuttujat ovat int, paitsi x joka oli vahingossa bool, se tän ongelman aiheuttikin. Nyt toimii oikein kun vaihdoin x tyypiksi int. Vaikka alempakaan ei varsinaisesti oikein toiminu, niin virhe ei ollut yhtäiso ohjelmas, joten sitä en huomannu.
Miksköhän kääntäjä ei voinut älähtää moisest virheest, ei olis tarttenu etsiä tuommosta tyhmää virhet montaa tuntia ;)
bool arvohan on 1 tai 0
Jos alustat vaikkapa:
bool x = 1; //kelpaa hyvin
toisaalta
bool x = "merkkijono"; //ei käy
gcc kääntäjän asetus -Wall ymärtääkseni pitäisi varoitaa asiasta...
Kanattaa lisäksi kokeilla koodin tarkastaja
http://www.splint.org/ (ilmainen) tai http://www.gimpel.com/ etsivät yleisempiä mokia.