Kerby Skrivet 22 Oktober 2007 Rapport Skrivet 22 Oktober 2007 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. Citera
Chainsawkitten Skrivet 22 Oktober 2007 Rapport Skrivet 22 Oktober 2007 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. Citera
Ozoon Skrivet 22 Oktober 2007 Rapport Skrivet 22 Oktober 2007 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. Citera
Chainsawkitten Skrivet 23 Oktober 2007 Rapport Skrivet 23 Oktober 2007 Du initierar (som det kallas att sätta ett värde vid definition) genom att skriva: int a=0,b=0; Du bör intiera dina variabler så att sådana här saker inte uppstår. Citera
Rekommendera inlägg
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.