Eli miksi muuttujaa ei tässä voi alustaa ennen itse pääohjelmaa:
#include <iostream> // Sisällytetään iostream using namespace::std; // Otetaan käyttöön nimiavaruus int main(void) int muuttujan1arvo = 1; { cout << " muuttujan 1 arvo = " << muuttujan1arvo; /* cout tulostaa muuttujan 1 arvon = 1 */ }
mutta ohjelmasa sen voi alustaa:
#include <iostream> // Sisällytetään iostream using namespace::std; // Otetaan käyttöön nimiavaruus int main(void) { int muuttujan1arvo = 1; cout << " muuttujan 1 arvo = " << muuttujan1arvo; /* cout tulostaa muuttujan 1 arvon */ }
Tuli vielä mieleen, että voisko paluuarvo eli "return 1;" auttaa tuossa muuttujan arvon ennen pääohjelmaa alustamisessa.
No kun se ei ole ennen pääohjelmaa. Pääohjelma "alkaa" rivistä "int main(void)", kun sen perässä ei ole puolipistettä. Jos olisi, se olisi vain funktion esittely, ja silloin se pitäisi kirjoittaa uudestaan siihen, mistä main-funktio alkaa.
Näin se on oikeasti ennen main-funktiota:
#include <iostream> // Sisällytetään iostream //using namespace std; // Otetaan käyttöön nimiavaruus. Ei :: using std::cout; // int main(void); // Tässä siis voisi olla se funktion esittely näin. // globaali muuttuja int moi = 1; int main(void) { cout << " moi = " << moi; return 0; // Ja jos ikinä unohdat return-rivin, niin..! }
Ongelmasi ydin on siinä ettet osaa kirjoittaa pääohjelmaa yhteen. Kokeile myös seuraavaa koodipätkää:
#include <iostream> // Sisällytetään iostream using namespace::std; // Otetaan käyttöön nimiavaruus int muuttujan1arvo = 1; int main(void) { cout << " muuttujan 1 arvo = " << muuttujan1arvo; /* cout tulostaa muuttujan 1 arvon */ return 0; }
*huoh*
näin se tulee:
#include <iostream> // Sisällytetään iostream using namespace::std; // Otetaan käyttöön nimiavaruus int muuttujan1arvo = 1; int main(void) { cout << " muuttujan 1 arvo = " << muuttujan1arvo; /* cout tulostaa muuttujan 1 arvon = 1 */ return 0; }
Edit: pikkuvikoja ;P
M2tias kirjoitti:
*huoh*
näin se tulee:
#include <iostream> // Sisällytetään iostream using namespace::std; // Otetaan käyttöön nimiavaruus int muuttujan1arvo = 1; int main(void) { cout << " muuttujan 1 arvo = " << muuttujan1arvo; /* cout tulostaa muuttujan 1 arvon = 1 */ return 0; }Edit: pikkuvikoja ;P
Viilataan nyt vielä lisää:
#include <iostream> // Sisällytetään iostream int muuttujan1arvo = 1; int main(void) { std::cout << " muuttujan 1 arvo = " << muuttujan1arvo; /* cout tulostaa muuttujan 1 arvon = 1 */ return 0; }
Meitsi, ajattelin laittaa sen niinkuin aloittelijat sen alussa oppii :P
Itse asiassa, kuulukos enää tuota voidia tonne laittaa.
Eli eikös se oikeammin mene:
#include <iostream> int muuttujan1arvo = 1; int main() { std::cout << " muuttujan 1 arvo = " << muuttujan1arvo; /* cout tulostaa muuttujan 1 arvon */ return EXIT_SUCCESS; }
Sen voi laittaa, muttei ole pakko. Tyhjäksi jättäminen tarkoittaa täysin samaa.
Aihe on jo aika vanha, joten et voi enää vastata siihen.