Øsse Skrevet 16. mars 2002 Del Skrevet 16. mars 2002 Kan noen hjelpe til med svar på følgende: EKSEMPEL 1: #include <iostream> int main() { int a, b, c, d; // programlinjer foran if (a>b) c=50; else c=25; //programlinjer bak return 0; } EKSEMPEL 2: #include <iostream> int main() { int a, b, c, d; // programlinjer foran { if (a>b) c=50; else c=25; } //programlinjer bak return 0; } Spørsmål 1: Har klammeparentesene rundt if-else setningene noen betydning i eksempel 2? Når har slike klammeparenteser inne i hovedprogrammet betydning? Må de to if-else linjene stå rett etter hverandre? Går det an å legge inn for eksempel en output-setning mellom dem? Håper på svar. Lenke til kommentar
kingkong Skrevet 16. mars 2002 Del Skrevet 16. mars 2002 Quote: On 2002-03-16 12:50, øsse87 skrev:Kan noen hjelpe til med svar på følgende:EKSEMPEL 1:#include <iostream>int main(){int a, b, c, d;// programlinjer foranif (a>b) c=50;else c=25;//programlinjer bakreturn 0;}EKSEMPEL 2:#include <iostream>int main(){int a, b, c, d;// programlinjer foran { if (a>b) c=50; else c=25; }//programlinjer bakreturn 0;}Spørsmål 1:Har klammeparentesene rundt if-else setningene noen betydning i eksempel 2? Når har slike klammeparenteser inne i hovedprogrammet betydning? I ditt eksempel har de ingen betydning. De brukes til å dele opp programkode i "logiske" blokker, f.eks. i if - else (se under). Quote: Må de to if-else linjene stå rett etter hverandre? Går det an å legge inn for eksempel en output-setning mellom dem? ...du kan skrive if (a>b) { c=50; cout << "Hei på deg, c er nå 50n"; } else { c=25; cout << "c er nå 25n"; } ...hvis det var det du lurte på. Lenke til kommentar
Øsse Skrevet 16. mars 2002 Forfatter Del Skrevet 16. mars 2002 Det var akkurat dette jeg lurte på. Takk for hjelpen! Lenke til kommentar
CaSh Skrevet 24. mai 2002 Del Skrevet 24. mai 2002 Men bare husk en ting, når du definerer en variabel a,b,c og ikke gir dem noe verdier i hele programmet, vil du få en logisk feil når du sier if(a>b), du har jo ikke gitt dem noe verdier, så du kan ikke teste på dem heller. Lenke til kommentar
sjanten Skrevet 24. mai 2002 Del Skrevet 24. mai 2002 Quote: Den 2002-05-24 12:34, CaSh skrev:Men bare husk en ting, når du definerer en variabel a,b,c og ikke gir dem noe verdier i hele programmet, vil du få en logisk feil når du sierif(a>b), du har jo ikke gitt dem noe verdier, så du kan ikke teste på dem heller. når du ikke gir dem verdier, får dem ikke så standardverdi på 0? Lenke til kommentar
DrDoogie Skrevet 24. mai 2002 Del Skrevet 24. mai 2002 Enkle variable blir initialisert til null( 0 ) ja. a > b hvor a og b er null er like fullt en logisk feil. Samme som aa si if(0). Lenke til kommentar
CaSh Skrevet 24. mai 2002 Del Skrevet 24. mai 2002 Quote: Den 2002-05-24 13:13, sjanten skrev: Quote: Den 2002-05-24 12:34, CaSh skrev: Men bare husk en ting, når du definerer en variabel a,b,c og ikke gir dem noe verdier i hele programmet, vil du få en logisk feil når du sier if(a>b), du har jo ikke gitt dem noe verdier, så du kan ikke teste på dem heller. når du ikke gir dem verdier, får dem ikke så standardverdi på 0? Nei det gjør dem ikke. Dere kan selv prøve. Bare skriv int c; og cout << c; Det som blir skrevet ut er sikkert 02390298JFF. Som er da minne adressen til stedet den har reservert plass i minnet. _________________ M0re M0ney M0re D0llars [ Denne Melding var redigert av: CaSh på 2002-05-24 20:02 ] Lenke til kommentar
LeD Skrevet 24. mai 2002 Del Skrevet 24. mai 2002 Quote: Den 2002-05-24 13:17, DrDoogie skrev:Enkle variable blir initialisert til null( 0 ) ja.a > b hvor a og b er null er like fullt en logisk feil.Samme som aa si if(0). I C++ blir ikke variabler automatisk initialisert til noen standardverdi. (som de blir i feks Java). De vil ha den verdien som tilfeldigvis lå fra før i den minneposisjonen de blir tildelt. Dette er av effektivitetsgrunner. Det brukes ikke tid på å sette en variabel hvis du ikke ber om det. if(null) er fullstendig lovlig og returnerer false. Svært nyttig til å teste på nullpekere. LeD Lenke til kommentar
CaSh Skrevet 26. mai 2002 Del Skrevet 26. mai 2002 Quote: I C++ blir ikke variabler automatisk initialisert til noen standardverdi. (som de blir i feks Java). De vil ha den verdien som tilfeldigvis lå fra før i den minneposisjonen de blir tildelt. Dette er av effektivitetsgrunner. Det brukes ikke tid på å sette en variabel hvis du ikke ber om det.if(null) er fullstendig lovlig og returnerer false. Svært nyttig til å teste på nullpekere.LeD Sa ikke jeg dette? Lenke til kommentar
LeD Skrevet 26. mai 2002 Del Skrevet 26. mai 2002 Quote: Den 2002-05-26 13:44, CaSh skrev:Sa ikke jeg dette? Nei, du sa at int c; cout << c; vil skrive ut minneadressen til c. Det er ikke riktig. Dette vil skrive ut verdien til c, som er det som tilfeldigvis ligger på adressen til c. cout << &c; vil skrive ut minneadressen til c. :smile: LeD Lenke til kommentar
Duronator Skrevet 27. mai 2002 Del Skrevet 27. mai 2002 Globale variabler blir initialisert(riktig?) til 0, men lokale får en "søppelverdi". Initialiser variablene dine gutt! Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå