Gothiatek Skrevet 8. juni 2002 Skrevet 8. juni 2002 Jeg vil bare få sagt det med engang jeg er n00b #include <stdio.h> main() { int P, U, I, W; printf ("Skriv inn U hvis du ikke har U skriv 0:"); scanf ("%d",&U); printf ("Skriv inn I hvis du ikke har I skriv 0:"); scanf ("%d",&I); if ( U==0 ) printf ("Skriv inn P:"); scanf ("%d",&P); W = (P/I); printf ("nn U er...%5d",W); if ( I==0 ) printf ("Skriv inn P:"); scanf ("%d",&P); W = (P/U); printf ("nn I er...%5d",W); } hva er galt her?
ddd Skrevet 8. juni 2002 Skrevet 8. juni 2002 Du må skrive: if(U==0){ //noe //noe mer } for at C skal skjønne at begge deler kun skal utføres hvis if'en slår til. Slik du har skrevet det hører bare den første etter if'en med til if'en. Den andre utføres uansett. Dette gjelder også et sted til lenger ned.
Gothiatek Skrevet 8. juni 2002 Forfatter Skrevet 8. juni 2002 ok takk for svaret dette er det første proget jeg har laget skjønner du :smile:
decibel Skrevet 8. juni 2002 Skrevet 8. juni 2002 En liten kommentar: Det er en bedre praksis å skrive: Code: if(0==U){ //noe //noe mer } istedenfor: Code: if(U==0){ //noe //noe mer } Du vet kanskje hvorfor også? .....
christt Skrevet 8. juni 2002 Skrevet 8. juni 2002 Pga debugging kanskje... Du kan jo ikke tilordne noe til 0, hvis du skulle skrive if (0=U) {}.... if(U=0){} ville jo bli true.
Gothiatek Skrevet 8. juni 2002 Forfatter Skrevet 8. juni 2002 Ok takk skal begynne med det isteden :smile:
decibel Skrevet 10. juni 2002 Skrevet 10. juni 2002 Quote: Den 2002-06-08 16:40, christt skrev:Pga debugging kanskje...Du kan jo ikke tilordne noe til 0, hvis du skulle skrive if (0=U) {}.... if(U=0){} ville jo bli true. Du har helt rett :smile: 0=U vil gi deg kompileringsfeil, og er derfor lettere å finne hvis du skulle skrive = istedenfor == .
iGGy Skrevet 11. juni 2002 Skrevet 11. juni 2002 Quote: 0=U vil gi deg kompileringsfeil, og er derfor lettere å finne hvis du skulle skrive = istedenfor == . AAAAAAAAAH!!!!!!!!!!! Gåd dæm, jeg har lurt på hvorfor i h'vette mange har skrevet konstanten på venstre side i if'er og tilsvarende. Det er jo helt ulogisk; "if zero equals variable"... det er jo "if variable equals zero"... men her er altså forklaringen! Uansett; jeg har aldri opplevd (etter 7 år med C/C++ koding) å driti meg ut på akkurat dette, så jeg gir nå beng og skriver det på gamlemåten... if ( errors == 0 ) { Smiley(); }
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å