Hoppa till innehåll

Rekommendera inlägg

Skrivet

Jag satt å skrev lite c++ när jag testade denna kod:

 

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    int a, b;
    int result;
    a = b;
    b = a;
    result = a + b;
    cout << result << "\n";
    system("PAUSE");
    return EXIT_SUCCESS;
}

 

Det betyder alltså att a + b är svaret och a = b och b = a.

Gissa vad svaret blev!

98...

Hur kunnde c++ räkna ut en omöjlig uträkning???

 

Till dom som inte fattar något om vad jag snackar om så snackar jag om ett programeringsspråk som heter C++. I det programmet har dom bl.a. gjort CS.

Skrivet

Den är inte omöjlig. Det är såhär att när du använder variabler så allokerar C++ minne åt variablerna. Det betyder att ditt program får tillstånd att använda den minnesplatsen. Men minnet rensas inte. Det som fanns innan i minnet finns kvar tills du skriver över det (som att ta bort filer från hårddisken, de tas aldrig bort). Därför har redan a och b värden, men det kan vara vad som helst. Du bör aldrig använda det här eftersom det kan precis som sagts vara vad som helst. Ditt program kan enkelt krascha. Extra farligt är det med pekare.

Skrivet

Som chainsaw säger, därför kan en god ide vara att alla variabler sätts till 0 när du skapar dem, eller att du kommer ihåg när du ska använda dem och då ser till att dom har ett värde.

 

antagligen får du andra värden om du kör programmet flera gånger.

Gå med i konversationen

Du kan skriva nu och registrera dig senare. Om du har ett konto, logga in nu för att posta med ditt konto.

Gäst
Svara på det här ämnet...

×   Klistrade in som rich text.   Klistra in som vanlig text istället

  Endast 75 emojis är tillåtet.

×   Din länk har automatiskt inbäddats.   Visa som en länk istället

×   Ditt tidigare innehåll har återställts.   Rensa redigeraren

×   Du kan inte klistra in bilder direkt. Ladda upp eller infoga bilder från URL.

×
  • Skapa ny...