Δημοσιεύτηκε: 25 Ιούλ 2011, 00:52
Star_Light έγραψε:stamatiou έγραψε:Star_Light έγραψε:Μην βάζεις πολύπλοκες εκφράσεις μέσα στην for σταματίου αν δεν εισαι εξοικιωμένος πρωτα με αλλα πραγματα...
φιλικη συμβουλη
Δεν τις βάζω εγώ, οι K&R τις βάζουν!
Πάντως το συγκεκυμένο βιβλίο δεν θα το πρότεινα σε κανένα. Σου πετά πράγματα από το 2ο κεφάλαιο τα οποία αναφέρονται και αναλύονται σε περεταίρο κεφάλαια!
Πριν κοιταξεις τις περιπλοκες εκφρασεις με την for θα χρησιμοποιησουμε τον κωδικα του παραδειγματος για το memory layout που μου εδωσε ο migf1 στο νημα με τα ασυγχρονα μαθηματα και τα προγραμματα περι C/C++ (ΤΟΥς ΚΩΔικες δηλαδη που βαζει οποιος θελει.)
λοιπον ο κωδικας ειναι ο εξης :
- Κώδικας: Επιλογή όλων
#include<stdio.h>
static int arr[] = { 1, 10, 4, 5, 6, 7 };
static int sum;
static const int n = sizeof(arr) / sizeof(arr[0]);
int main()
{
int i;
for (i = 0; i < n; i++)
sum += arr[i];
return 0;
}
1. Ποια η έξοδος?
2. Παραμετροποιησε τον κωδικα καταλληλα (κανοντας χρηση εμφολιασμενης for) ωστε η εξοδος πλεον να ειναι
(αν Ο η αρχική) τοτε η νέα Ο'= 3 * Ο
Δεν κατάλαβα, αυτό είναι κάτι σαν άσκηση; Και το O κάπου το έχω ξαναδει και έχει να κάνει με την ταχήτυτα του προγράμματός μας νομίζω, σωστά;