Return ; Πως χρησιμοποιείτε?

Συζητήσεις για την γλώσσα C και C++

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

Return ; Πως χρησιμοποιείτε?

Δημοσίευση από vassilism » 22 Νοέμ 2008 16:27

Καλησπέρα σας.
Συνήθως το πρώτο πρόγραμμα που μαθαίνει κάποιος αρχάριος όταν αρχίζει c είναι ένα πρόγραμμα που τυπώνει μια λέξη στην οθόνη όπως το παρακάτω:

Κώδικας: Επιλογή όλων

#include <stdio.h>
int main &#40;&#41;
&#123;
printf &#40;"freestuff.gr\n"&#41;;
return 0;
&#125;
Αυτό το πρόγραμμα τυπώνει στην οθόνη τη λέξη freestuff.gr χρησιμόποιόντας την συνάρτηση printf ().
Ακριβώς από κάτω βλέπουμε το return 0;
Αν δεν κάνω λάθος αυτό δίνει την τιμή 0 στην συνάρτηση int main ().

Το ερώτημα είναι:
Τι ακριβώς σημαίνει ότι δίνει την τιμή 0 στην συνάρτηση int main (), και αν υπάρχουν άλλοι τρόποι που μπορούμε να χρησιμοποιήσουμε την εντολή return.

Άβαταρ μέλους
Pavel
Honorary Member
Δημοσιεύσεις: 1046
Εγγραφή: 08 Αύγ 2003 00:05
Τοποθεσία: UK

Return ; Πως χρησιμοποιείτε?

Δημοσίευση από Pavel » 22 Νοέμ 2008 16:44

Κατά τον Bjarne Stroustrup (http://www.research.att.com/~bs/bs_faq2.html#void-main):
A conforming implementation may provide more versions of main(), but they must all have return type int. The int returned by main() is a way for a program to return a value to "the system" that invokes it. On systems that doesn't provide such a facility the return value is ignored, but that doesn't make "void main()" legal C++ or legal C. Even if your compiler accepts "void main()" avoid it, or risk being considered ignorant by C and C++ programmers.
Εσύ είσαι τρελός.

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

Return ; Πως χρησιμοποιείτε?

Δημοσίευση από vassilism » 22 Νοέμ 2008 16:55

Pavel σευχαριστώ που μπήκες στον κόπο αλλά η απάντησή σου δεν με κάλυψε.
Το έψαξα αρκετά στο google πριν κάνω την ερώτηση εδώ.
Για την ακρίβεια δεν κατάλαβα την ουσία, το οποίο είναι αυτό που ψάχνω.

Άβαταρ μέλους
Pavel
Honorary Member
Δημοσιεύσεις: 1046
Εγγραφή: 08 Αύγ 2003 00:05
Τοποθεσία: UK

Return ; Πως χρησιμοποιείτε?

Δημοσίευση από Pavel » 22 Νοέμ 2008 18:00

Δεν είμαι 100% σίγουρος για αυτά που θα γράψω οπότε αν κάτι δεν ισχύει διορθώστε με asap :P

Από αυτά που ξέρω, στην int main() δεν χρειάζεται να υπάρχει return επειδή αφήνουμε το λειτουργικό σύστημα να χειριστεί την επιστροφή από το πρόγραμμα.

Το 0 είναι ERROR_SUCCESS, δηλαδή ότι το πρόγραμμα ολοκλήρωσε σωστά την εκτέλεσή του. Τώρα αν επιστρέψεις κάποιον άλλο αριθμό δεν ξέρω πως μπορείς να το αξιοποιήσεις.
Εσύ είσαι τρελός.

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

Return ; Πως χρησιμοποιείτε?

Δημοσίευση από vassilism » 24 Νοέμ 2008 22:32

Pavel έγραψε:Τώρα αν επιστρέψεις κάποιον άλλο αριθμό δεν ξέρω πως μπορείς να το αξιοποιήσεις.
Pavel θα κάνω μερικές δοκιμές μόλις βρω χρόνο και θα σας πω.

Απάντηση

Επιστροφή στο “C, C++”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες