---
title: "använda return 0; alltid?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/c-cpp/110410-använda-return-0-alltid"
topic: "C/C++"
topic_url: "https://www.webforum.nu/amne/c-cpp"
author: "kobranturre"
published: "2004-08-31T09:11:39.000Z"
updated: "2004-08-31T21:52:54.000Z"
replies: 7
views: 397
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/c-cpp/110410-använda-return-0-alltid"
---

# använda return 0; alltid?

## #1 — kobranturre, 2004-08-31T09:11Z

Så här står det att man jämt ska ha

```
int main()
{
satser
return 0;
}
```

så ska man jämt ha return 0? till vilken nytta?

Permalänk: https://www.webforum.nu/p/110410

## #2 — cyprys, 2004-08-31T09:14Z

Det finns säkert någon här som kan förklara bättre men jag har för mig att OS förväntar sig en 0 tillbaka från programmet vilket säger att exekveringen gick bra. 
En 1:a säger att något gick fel.

Permalänk: https://www.webforum.nu/p/1424602

## #3 — Mc Fetto, 2004-08-31T09:19Z

Man behöver inte returnera 0 eller 1, men vissa kompilatorer kräver det. Det kan dock vara lämpligt att returnera för att vara konsekvent (int(main)) säger ju att det ska retuurneras ett värde...

Permalänk: https://www.webforum.nu/p/1424604

## #4 — Marcus E, 2004-08-31T09:25Z

När du felsöker programmet visas numret som du returnerar i output-fönstret. Det kan användas för att veta hur programmet avslutades.

Permalänk: https://www.webforum.nu/p/1424607

## #5 — kobranturre, 2004-08-31T09:29Z

fortsätter väl på samma tråd.

Jag gjorde ett nybörjar fel och skrev #import \<iostream\> istället för #include. Men programmet funkade iaf, jag fick rätt utskrift. Vad beror det på? Om jag fattat rätt så ska \<iostream\> inehålla saker så att man kan använda cout. I detta fall då borde det ju inte bli ngn utskrift, eller?

Permalänk: https://www.webforum.nu/p/1424610

## #6 — cyprys, 2004-08-31T09:38Z

> **Practical C Programming skrev:**
>
> The line **return (0);** is used to tell the operating system (UNIX or MS-DOS Windows) that the program exited normally (Status=0). 
> A nonzero status indicates an error \[...\]

Är detta ingen standard längre?

Permalänk: https://www.webforum.nu/p/1424616

## #7 — spango, 2004-08-31T11:51Z

Det brukar gå att skippa returnsatsen i main, varpå kompilatorn automagiskt lägger till att main returnerar 0. Dessutom hade man i K&R C (d.v.s., innan standardiseringen) möjligheten att ha en *void main* i stället för *int main*, och vissa kompilatorer tillåter det fortfarande.

Permalänk: https://www.webforum.nu/p/1424682

## #8 — niels, 2004-08-31T21:52Z

> **kobranturre skrev:**
>
> fortsätter väl på samma tråd.
> 
> Jag gjorde ett nybörjar fel och skrev #import \<iostream\> istället för #include. Men programmet funkade iaf, jag fick rätt utskrift. Vad beror det på? Om jag fattat rätt så ska \<iostream\> inehålla saker så att man kan använda cout. I detta fall då borde det ju inte bli ngn utskrift, eller?

Det beror på vilken kompilator som du kör.  Exempelvis i Visual C++:
<http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclang/html/_predir_The_.23.import_Directive.asp>

Direktivet kan nog verka vara samma effekt som #include men i bakgrunden så händer mycket mer om man kör #import.

i \<cstdlib\> finns följande konstanter som man kan använda med exit():
EXIT_SUCCESS 0 //Normal termination 
EXIT_FAILURE 1 //Abnormal termination. Error in process.

Permalänk: https://www.webforum.nu/p/1425121

---

Tråden på webben: https://www.webforum.nu/amne/c-cpp/110410-använda-return-0-alltid
