Seneste forumindlæg
Køb / Salg
 * Uofficiel Black/White liste V3
Login / opret bruger

Forum \ Off Topic \ Hyggekrogen
Denne tråd er over 6 måneder gammel

Er du sikker på, at du har noget relevant at tilføje?

Hjælp til programmering C

Af Bruger Aspirant Ozi | 31-05-2017 16:21 | 1105 visninger | 4 svar, hop til seneste
Hej Hol Jeg ved ikke helt hvordan jeg skulle formulere mig i overskriften, men jeg har lige 3 spørgsmål, som jeg ikke helt kan finde svaret på. spg 1. Hvorfor er det en god ide, at man vælger at skrive if, else if, else if i stedet for at man skriver if , if? f.eks. if (choice_ == 1) { else if (choice_ == 2) {Hvorfor kan man ikke bare sige if flere gange? spg 2. Hvad er forskellen helt præcist mellem == og = jeg har lidt svært ved at finde ud af det spg 3. Hvad er forskellen om ens Void funktion står før eller efter int main? (Altså efter return statement) tak for hjælpem
--
Sidst redigeret 31-05-2017 16:22
#1
Azakiel
Skribent
31-05-2017 16:38

Rapporter til Admin
Nu er jeg ikke C programmør, men kan da forsøge alligevel. Du kan godt skrive If If If If uden problemer, grunden til at man bruger en If Else sætning er hvis første If statement ikke er korrekt, så kan den eksekvere den næste. Ved et If If opsætning så kan de begge eksekvere uafhængigt af hinanden. Som eksempel, taget udgangspunkt i webudvikling: // IF ELSE If($status){ echo 'Status eksisterer'; } else if($computer){ echo 'Status eksisterer ikke, men det gør computer'; } else { echo 'Hverken status eller computer eksisterer'; } //IF IF if($status){ echo 'Status eksisterer'; } if($computer){ echo 'Computer eksisterer'; } I IF ELSE tjekker den først om status eksisterer, derefter computer, og hvis ingen eksisterer tager den sidste ELSE statement. I IF IF skriver echo'er den begge så længe de bare eksisterer. Spørgsmål 2: = er når du vil tildele noget en værdi == er når du vil sammenligne 2 værdier === er når du vil sammenligne 2 værdier, og typen af værdier. Den eksisterer dog ikke i C så vidt jeg kan se, men det kan ske du løber ind i den andet steds. Groft sagt. Der ligger lidt mere i det end det, men jeg kender ikke C nok til at kunne forklare det, ej heller kan jeg hjælpe dig med spørgsmål 3.
--
Veni, Vidi, Vici. dimidium facti qui coepit habet faber est quisque fortunae suae
--
Sidst redigeret 31-05-2017 16:39
#2
Andreas Mieritz
Gæst
31-05-2017 16:58

Rapporter til Admin
Spørgsmål 1: Så længe du kun har en variabel du checker for, så er det ligemeget om du bruger if, else if, else if eller bare if, if, if Oftest er programmer dog mere komplicerede end det. Antag du har 2 variable. if (_varA == 2) { ?//do stuff } else if (_varB == 5) { ?//something else, that requires both _varA != 2 AND _varB == 5 } Sammenlignet med if (_varA == 2) { ?//do stuff } if ( (_varA != 2) && (_varB == 5)) { ?//same as above. } De to stykker kode her er identiske, men jo flere if else's du omskriver, jo mere langhåret bliver det, og chancen for at du indfører fejl stiger markant. Spørgmål 2: == bruges til sammenligning, typisk i if sætninger. = bruges til assignment af værdier til variable. Grunden til at det er vigtigt at have 2 operatorer her, skyldes at c tillader rimelig underlig kode, som ofte er ulæseligt ellers. Et simpelt eksempel er conditional assignment: _varA = (_varB == 5) 1 : 2 som betyder at hvis _varB==5, så bliver _varA=1, ellers _varA=2 Spørgsmål 3: Typisk i c/c++ laver man en deklaration på forhånd, noget a la void SomeLaterFunction(); int main() { ?SomeLaterFunction(); } void SomeLaterFunction() { ?//do stuff } Du kan slippe af sted i alle compilers med bare at rykke funktionen op over main i stedet for at erklære den. Det bliver dog hurtigt uoverskueligt, når man når op over 10 funktioner af en hvis kompleksitet. Af samme grund, vil jeg anbefale at læse op på header/source filer i stedet for. Oftest er ideen alligevel at man på sigt vil rykke koden ud i flere filer, så det gøres nemmere at holde styr på.
--
Gæstebruger, opret dit eget login og få din egen signatur.
#3
Ozi
Bruger Aspirant
31-05-2017 20:50

Rapporter til Admin
Tak for det #1 og #2 :D Jeg har også lige nogle hurtigere spørgsmål til Hvad er pointere og switch? Har svært ved at forstår hvad det er
--
#4
simonlvschal
Ultra Supporter
01-06-2017 01:34

Rapporter til Admin
#3 Ozi Pointers fungere sådan at hvis vi har en. Int * number; så skal alle varibler der skal point til Number have en * som betyder det efter skal point til noget. Husk at clear op memory.. ellers får du memory leak Fx *number = 3 som betyder nu bliver number altså 3. og den pointer til den varible. en Switch er bare en Switch. helt det samme som en lys knap. du switcher i mellem stadier af hvad der er Korrekt. fx int * MySwitch; Switch (*MySwitch er en varible.) case 1: do something break; case 2: do something break; osv. det betyder bare hvilke case der bliver brugt.
--
Sidst redigeret 01-06-2017 01:34

Opret svar til indlægget: Hjælp til programmering C

Grundet øget spam aktivitet fra gæstebrugere, er det desværre ikke længere muligt, at oprette svar som gæst.

Hvis du ønsker at deltage i debatten, skal du oprette en brugerprofil.

Opret bruger | Login
NYHEDSBREV
Afstemning