Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Vad skiljer dessa varianter av if åt?

Postades av 2003-04-15 23:02:57 - Peter Björklund, i forum c++, Tråden har 4 Kommentarer och lästs av 680 personer

Variant 1:

if(villkoret är detta)
{
gör detta;
}

if(villkoret istället är detta)
{
gör detta;
}

Variant 2:

if(villkoret är detta)
{
gör detta;
}
else if(villkoret istället är detta)
{
gör detta;
}

Är någon av dem sämre än den andra på något sätt eller är det bara en smaksak på vilket sätt man vill skriva satsen?


Svara

Sv: Vad skiljer dessa varianter av if åt?

Postades av 2003-04-16 01:24:17 - Niklas Jansson

De skiljer sig från varandra.
Om vi säger så här:

if(villkor1)
sats1;
else if(villkor2)
sats2;

resp.

if(villkor1)
sats1;
if(villkor2)
sats2;

Så är det en korrekt C/C++ - kod. De är ekvivalenta mot det du skrev.

Om vi nu säger att
villkor1 = (a>7);
villkor2 = (b>5);

så ska du se att satserna blir olika.

det finns fyra fall:
1: a<=7, b<=7 -> villkor1=false, villkor2=false
2: a<=7, b>7 -> villkor1=false, villkor2=true
3: a>7, b<=7 -> villkor1=true, villkor2=false
4: a>7, b>7 -> villkor1=true, villkor2=true

fall 1: ingen av sats1 eller sats2 att körs i något av fallen.
fall 2: i första skrivsättet kommer först villkor1 kollas (=false), och sedan EFTERSOM villkor1 var false, kommer villkor2 kollas, som blir sann. I andra skrivsättet kommer först villkor1 kollas, och sedan villkor2. I båda fallen kommer sats2 utföras
fall 3: i första skrivsättet kommer villkor1 kollas, och sedan behövs inget annat kollas - man kör sats1. i andra skrivsättet kollas första, då körs sats1, sen kollas andra men då körs inte sats2. Alltså utförs sats1 i båda fallen.
fall4: i första skrivsättet kollas först villkor1, som blir sant, sen körs sats1 och det är klart. I andra skrivsättet kollas först vilkor1, kör sats1, kollar vilkor2, kör sats2. Här uppträder alltså en egentlig skillnad. i andra skrivsättet kommer båda att köras.

Det beror alltså på om villkor1 kan vara sann samtidigt som villkor2.


Svara

Sv: Vad skiljer dessa varianter av if åt?

Postades av 2003-04-16 17:45:47 - Anton Samuelsson

Variant 1: Testa båda if-satserna
Variant 2: Om den första if-satsen är sann testas inte andra if-satsen. Den här metoden är att föredra framför den tidigare om bara en av if-satserna ska vara sann (snabbare om första if-satsen är sann).


Svara

Sv: Vad skiljer dessa varianter av if åt?

Postades av 2003-04-16 18:30:47 - Abra Hana

Det beror på , för det mesta finns det ingen skillnad allts om du skriver bara if eller om du kombinera if med else if . ( det handlar om det så kallad att följa språkets regler ) .

Om du du har lagt if satserna i en funktion , och sedan anropas funktionen så läses allt från första raden . om du använder bara if utan if-else så exekverar programmet första if , om det är sant utförs alla satser som är anknytna till första if , och sedan hoppar markören till nästa if ( eller rad ) utanför första if , om det falskt , också , hoppar markören till nästa if-satsen .

Procuduren uppreppas tills alla if-satser ( och eventuellt all programkod ) som finns inne i funktionen har exekverats färdigt .

Att använda bara if utan else , används ofta när man vill utföra flera alternativ som är oberoende av varandra i en enda exekvering .


Svara

Sv: Vad skiljer dessa varianter av if åt?

Postades av 2003-04-18 01:24:42 - Peter Björklund

Tack skall ni ha för era svar. Har varit berikande.


Svara

Nyligen

  • 21:41 Automotive Services UK
  • 20:44 Erfarenhet av CBD-olja mot sömnpro
  • 12:13 Sex Dolls for Sale
  • 19:42 Online Casinos for Haitian Players
  • 19:38 Rekommendera något intressant
  • 19:13 Международная перевозка грузов
  • 00:01 DL Van Tuning | Exclusive Body Kit
  • 12:08 Indian casino

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 879
27 965
271 774
569
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies