[C++] Funkcja main nie jest wykonywana jako pierwsza
Ostatnio zmodyfikowano 2012-11-07 13:15
jAngermann Temat założony przez niniejszego użytkownika |
[C++] Funkcja main nie jest wykonywana jako pierwsza » 2012-11-05 22:11:33 Z tego co pamiętam, to program powinien zawsze zaczynać od funkcji main, jednakże w tym kodzie (przykładowy kod z Lekcji o funkcjach), funkcja void moja_funkcja jest wykonywana jako pierwsza. #include <iostream> void moja_funkcja() { std::cout << "[1] - dodawanie" << std::endl; std::cout << "[2] - odejmowanie" << std::endl; std::cout << "[0] - wyjscie z programu" << std::endl; }
void dodawanie() { std::cout << "Jeszcze nie oprogramowano" << std::endl; }
void odejmowanie() { dodawanie(); }
int main() { std::cout << "W programie sa dostepne nastepujace opcje:" << std::endl; moja_funkcja(); std::cout << "Zycze przyjemnego korzystania z programu" << std::endl << std::endl; int liczba; do { moja_funkcja(); std::cin >> liczba; switch( liczba ) { case 1: dodawanie(); break; case 2: odejmowanie(); break; default: break; } } while( liczba != 0 ); return 0; }
|
|
cyklopek11 |
» 2012-11-05 22:19:07 Jest zdefiniowana jako pierwsza (globalnie) a wywoływana w funkcji main(). |
|
jAngermann Temat założony przez niniejszego użytkownika |
» 2012-11-05 22:28:02 Chodzi mi o to, że taki pseudokod void xx() { *wyswietl a* } int main() { *wyswietl b* }
wyświetliłby a potem b, nawet jeśli funkcja void xx nigdzie nie została wywołana. |
|
ison |
» 2012-11-05 22:33:13 Sprawdzałeś czy strzelasz, że tak jest? |
|
cyklopek11 |
» 2012-11-05 22:38:06 Po pierwsze kod wstawiaj w znacznikach. Po drugie w uproszczeniu, wykonywanie kodu napisanego w C/C++ zaczyna się od funkcji main() (wcześniej jest tylko biblioteka uruchomieniowa C/C++ ale to tylko info jak bawisz się asemblerem dodatkowo). Masz błędy w kodzie: - brak średników - *wyswietl a* nie ma takiego czegoś w języku C/C++ Po trzecie nie można wywołać funkcji przed funkcją main() (znowu z zastrzeżeniem pkt. 2) Po czwarte funkcja jest wywoływana gdy jej nazwę piszemy w kodzie z nawiasami (z ewentualnymi argumentami wywołania). Po piąte radzę przeczytać jeszcze raz kurs c++ - funkcje. |
|
jAngermann Temat założony przez niniejszego użytkownika |
» 2012-11-05 23:00:17 Tak, ison, sprawdzałem. cycklopek11, to pseudokod. I wiem że "wykonywanie kodu napisanego w C/C++ zaczyna się od funkcji main()", dlatego pytam się, jak to możliwe że inna funkcja wykonuję się przed funkcją main().
Dodam też że używam Code::Blocks (według zaleceń kursu) i sprawdzałem Dev-C++ i na nim normalnie wykonuję się od funkcji main().
|
|
cyklopek11 |
» 2012-11-05 23:03:42 Pokaż dowód gdzie jakaś funkcja się wykonuje przed main(). |
|
DejaVu |
» 2012-11-05 23:03:53 Nie ma takiej możliwości, aby w przedstawionym kodzie wywołało się cokolwiek innego przed funkcją main. |
|
« 1 » 2 3 |