Προς το περιεχόμενο

code in C


antemar

Προτεινόμενες αναρτήσεις

Δημοσ.

>myle@myle:~/Desktop/untitled folder$ gcc -Wall asdf.c -o asdf
asdf.c: In function ʽmainʼ:
asdf.c:4: warning: operation on ʽaʼ may be undefined
asdf.c:5: warning: implicit declaration of function ʽprintfʼ
asdf.c:5: warning: incompatible implicit declaration of built-in function ʽprintfʼ
asdf.c:5: warning: operation on ʽaʼ may be undefined
asdf.c:5: warning: operation on ʽaʼ may be undefined
myle@myle:~/Desktop/untitled folder$ ./asdf
22,13,14,14

 

Με gcc 4.2

 

Όσον αφορά τα υπόλοιπα απαντήθηκαν ήδη.

Δημοσ.

Παιδιά ευχαριστώ για την ανταπόκριση αλλά δυστυχώς εξακολουθώ να μην το κατανοώ.

Αν μπορεί κάποιος να γίνει πιο αναλυτικός θα το εκτιμούσα πολύ.

Δημοσ.

Στη παράσταση b= οι πράξεις εκτελούνται από τα αριστερά στα δεξιά

το a++ επιστρέφει τιμη 10 αλλα κάνει το a 11. To δευτερο ++a επιστρέφει 12 (μετά την άυξηση) και κάνει το a 12

Επομένως στο b θα καταχωριστεί το 10+12 δηλαδή το 22

Στην prntf τα ορίσματα υπολογίζονται από τα δεξιά στα αριστερά

το ++a κάνει το a 13 και επιστρέφει 13, το σκετο a φυσικά επιστρέφει 13 και τέλος το a++ κάνει το a 14 αλλα επιστρέφει 13 (πρίν από την αύξηση).

Δημοσ.
Στην prntf τα ορίσματα υπολογίζονται από τα δεξιά στα αριστερά

Δεν καθορίζεται από το πρότυπο (και της C και της C++) η σειρά με την οποία υπολογίζονται τα ορίσματα. Η συμπεριφορά είναι απροσδιόριστη (όπως προειδοποιεί πιο πάνω o compiler του myle).

Το ίδιο συμβαίνει και όταν τελεστές αύξησης (ή μείωσης) εμφανίζονται επαναληπτικά σε μια έκφραση για την ίδια μεταβλητή.

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...