Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Σχετικά έγγραφα
Εργασία για το μάθημα Εισαγωγή στο Δομημένο Προγραμματισμό. Θέμα: Animation ευθύγραμμης ομαλής κίνησης με ελαστικές κρούσεις.

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Ανάπτυξη και Σχεδίαση Λογισμικού

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. Ασκήσεις Επανάληψης

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Προγραμματισμός Η/Υ (ΤΛ2007 )

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Ανάπτυξη και Σχεδίαση Λογισμικού

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ. for (παράσταση_1; παράσταση_2; παράσταση_3) εντολή επόμενη εντολή

Εργαστηριακή Άσκηση 1

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Η γλώσσα προγραμματισμού C

Εισαγωγή στον Προγραμματισμό

6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

3 ο Εργαστήριο Μεταβλητές, Τελεστές

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΕΠΛ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ

Επανάληψη για τις Τελικές εξετάσεις. (Διάλεξη 24) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Προγραμματισμός Η/Υ (ΤΛ2007 )

ΤΕΜ-101 Εισαγωγή στους Η/Υ Εξεταστική Ιανουαρίου 2011 Θέματα Β

Προγραμματισμός Η/Υ (ΤΛ2007 )

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ C ΣΕΙΡΑ 2 η

Ανάπτυξη και Σχεδίαση Λογισμικού

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4

ΘΕΜΑΤΑ ΕΞΕΤΑΣΗΣ ΚΑΙ ΑΠΑΝΤΗΣΕΙΣ ΤΟΥΣ

Συναρτήσεις και διαδικασίες

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #2

Προγραμματισμός Η/Υ (ΤΛ2007 )

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Η γλώσσα προγραμματισμού C

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Πίνακες: μια σύντομη εισαγωγή. Πίνακες χαρακτήρων: τα "Αλφαριθμητικά"

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης

Περιεχόμενα. Πρόλογος... 21

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. Ερωτήσεις Επανάληψης

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 3 η : Επίλυση Προβληµάτων Χειµερινό Εξάµηνο 2011

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Προγραμματισμός Η/Υ (ΤΛ2007 )

Βασικές Αρχές Προγραμματισμού

Η βασική συνάρτηση προγράμματος main()

Κεφάλαιο 3.1, : Συναρτήσεις I. (Διάλεξη 11)

Προγραμματισμός Ι. Προεπεξεργαστής. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Εισαγωγή στους Αλγόριθμους και τον Προγραμματισμό. 4η Διάλεξη Πίνακες Συναρτήσεις

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΣΥΝΑΡΤΗΣΕΙΣ (Functions)

Προγραμματισμός Η/Υ (ΤΛ2007 )

Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ

Ενδεικτική περιγραφή μαθήματος

Η γλώσσα προγραμματισμού C

Εισαγωγή στον προγραμματισμό. Τμήμα Πληροφορικής & Επικοινωνιών ΤΕΙ Σερρών Εργαστήριο 2

4 ο Εργαστήριο Τυχαίοι Αριθμοί, Μεταβλητές Συστήματος

5. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Β' μέρος: while - do..while)

ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή

Εισαγωγή στον Προγραμματισμό

Δομημένος Προγραμματισμός (ΤΛ1006)

Προγραμματισμός Η/Υ (ΤΛ2007 )

Εισαγωγή στους Αλγόριθμους και τον Προγραμματισμό. 3η Διάλεξη Είσοδος Δεδομένων Συνθήκες Βρόχοι Παραδείγματα

Δομημένος Προγραμματισμός (ΤΛ1006)

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα.

Εισαγωγή στις Συναρτήσεις

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης Τα Εργαστηριακά Προγράμματα. Η δομή Επιλογής στη PASCAL. H δομή Επανάληψης στη PASCAL. Η εντολή επανάληψης for

ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Προγραμματισμός Ι (ΗΥ120)

Η γλώσσα προγραμματισμού C

είκτες και Πίνακες (2)

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 3 Ο. Σταθερές-Παράμετροι-Μεταβλητές Αριθμητικοί & Λογικοί Τελεστές Δομή ελέγχου-επιλογής Σύνθετοι έλεγχοι

Η γλώσσα προγραμματισμού C

Ενδεικτικές λύσεις και στατιστικά

ΕΡΓΑΣΤΗΡΙΟ 4: Μεταβλητές, Δομές Ελέγχου και Επανάληψης

Η γλώσσα προγραμματισμού C

Μεθόδων Επίλυσης Προβλημάτων

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #3

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

Εντολές επιλογής Επαναλήψεις (if, switch, while)

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή

ΕΡΓΑΣΤΗΡΙΟ 1 - ΣΗΜΕΙΩΣΕΙΣ

Εισαγωγή στον Προγραµµατισµό. Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ

#include <stdlib.h> Α. [-128,127] Β. [-127,128] Γ. [-128,128]

Προγραμματισμό για ΗΜΥ

Προγραμματισμός Ι (ΗΥ120)

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #5

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Γλώσσες Προγραμματισμού

Διάλεξη 11η: Δείκτες, μέρος 1

Προγραμματισμός Η/Υ (ΤΛ2007 )

Δομημένος Προγραμματισμός

Transcript:

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εργαστήριο 6η εβδομάδα. Κοζάνη, 19 Νοεμβρίου 2008. Σε αυτή την ομάδα ασκήσεων συνδυάζουμε τις μέχρι τώρα γνώσεις μας από τις δομές επανάληψης και επιλογής, τις συναρτήσεις, τους πίνακες και τα αλφαριθμητικά για να κάνουμε εφαρμογές με ελεγχόμενη έξοδο στην οθόνη. Άσκηση p6-1 Κατ' αρχήν θέλουμε να δούμε αν μπορούμε να ανανεώνουμε την οθόνη σβήνοντας τα παλιά δεδομένα και δείχνοντας σε κάθε επανάληψη μόνο τα νέα. Δοκιμάζουμε να γράψουμε ένα πρόγραμμα που αυξάνει σταδιακά έναν αριθμό και δείχνει κάθε φορά μόνο την καινούρια τιμή αφού καθαρίσει προηγουμένως την οθόνη. Γράψτε το ακόλουθο πρόγραμμα σε ένα αρχείο με το όνομα π.χ. p6_1.c, μεταγλωττίστε το και εκτελέστε το: #include <stdio.h> int s, t, kount=0; while(1) printf("\n\n\n\n\n\t\t\ttime=%d\n", kount); for(t=0; t < 1000; t++) for(s=0; s<10000; s++); kount++; if(kount > 999) break; Τι έξοδο παίρνετε; Τι κάνει η εντολή while( 1 )... και πώς φεύγουμε από αυτή τη δομή επανάληψης; Τι ρόλο παίζουν τα δύο for μέσα στη while; Τι κάνει η εντολή system; 6 1 / 10

Άσκηση p6-2 Εδώ βελτιώνουμε λίγο το προηγούμενο πρόγραμμα για να του υπαγορεύουμε το ρυθμό ανανέωσης της οθόνης με έναν αριθμό από τη γραμμή εντολών. Γράψτε το ακόλουθο πρόγραμμα σε ένα αρχείο με το όνομα π.χ. p6_2.c, και μεταγλωττίστε το. Με γαλάζιο είναι ο κώδικας που παραμένει ίδιος με πριν και με κόκκινο τα νέα στοιχεία ή οι αλλαγές. #include <stdio.h> int delay, s, t, kount=0; while(1) printf("\n\n\n\n\n\t\t\ttime=%d\n", kount); if(kount++ > 999) break; Μετά εκτελέστε το δίνοντας του διαφορετικά αριθμητικά ορίσματα από τη γραμμή εντολών: 5, 10, 20, 50, 100. Δοκιμάστε και χωρίς ορίσματα. Τι έξοδο παίρνετε; Τι σημαίνει η οδηγία #define; Τι σημαίνουν τα ορίσματα της main στη γραμμή ; Τι κάνει η συνάρτηση atoi ; Τι κάνει ο τριαδικός τελεστής (? :) ; Τι ρόλο φαίνεται να παίζει η μεταβλητή delay στο δεύτερο for ; Άσκηση p6-3 (μεταγλώττιση και εκτέλεση) Τροποποιούμε λίγο την εικόνα που εμφανίζεται στην οθόνη. Εκτός από το μετρητή, θα εμφανίζεται ένα σημείο (σύμβολο '*') που θα μετακινείται γραμμικά πάνω στην οθόνη. Γράψτε το επόμενο πρόγραμμα σε ένα αρχείο με το όνομα π.χ. p6_3.c, και μεταγλωττίστε το. Και πάλι, με γαλάζιο είναι ο κώδικας που παραμένει ίδιος με πριν και με κόκκινο τα νέα στοιχεία ή οι αλλαγές. 6 2 / 10

#include <stdio.h> #define OFFSET 10 int i, delay, s, t, kount=0; while(1) printf("\ntime=%d\n\n\n", kount); for(i=0; i<kount+offset; i++) putchar('*'); fflush(stdout); if(kount++ > 999) break; Μετά εκτελέστε το δίνοντας του διαφορετικά αριθμητικά ορίσματα από τη γραμμή εντολών, όπως και προηγουμένως. Τι έξοδο παίρνετε τώρα; Τι κάνει η συνάρτηση puchar; Τι κάνει η συνάρτηση fflush; Άσκηση p6-4 (μεταγλώττιση και εκτέλεση) Τροποποιούμε και άλλο την εικόνα που εμφανίζεται στην οθόνη. Διώχνουμε τον κέρσορα στην άκρη και κάνουμε το σύμβολο * να επανέρχεται περιοδικά. Γράψτε το επόμενο πρόγραμμα σε ένα αρχείο με το όνομα π.χ. p6_4.c, και μεταγλωττίστε το. Και πάλι, με γαλάζιο είναι ο κώδικας που παραμένει ίδιος με πριν και με κόκκινο τα νέα στοιχεία ή οι αλλαγές. 6 3 / 10

#include <stdio.h> #define OFFSET 10 #define WIDTH 80 int i, delay, s, t, kount=0; while(1) printf("\ntime=%d\n\n\n", kount); for(i=0; i<offset; i++) for(i=0; i<width; i++) putchar(i==kount%width?'*':' '); fflush(stdout); if(kount++ > 999) break; Μετά εκτελέστε το δίνοντας του διαφορετικά αριθμητικά ορίσματα από τη γραμμή εντολών, όπως και προηγουμένως. Τι έξοδο παίρνετε τώρα; Τι κάνει ο τελεστής %; Άσκηση p6-5 (μεταγλώττιση και εκτέλεση) Τώρα υλοποιούμε μια άλλη περιοδική κίνηση: το σημείο που παριστάνουμε * θα συγκρούεται σε κάποια τοιχώματα και θα πηγαίνει μπρος-πίσω, σα μπαλάκι του τέννις. Γράψτε το επόμενο πρόγραμμα σε ένα αρχείο με το όνομα π.χ. p6_5.c, και μεταγλωττίστε το. 6 4 / 10

#include <stdio.h> #define OFFSET 10 #define WIDTH 80 int i, delay, s, t, kount=0; while(1) printf("\ntime=%d\n\n\n", kount); for(i=0; i<offset-1; i++) for(i=0; i<width; i++) if(kount/width%2) putchar(i==width-kount%width?'*':' '); else putchar(i==kount%width?'*':' '); fflush(stdout); if(kount++ > 999) break; Μετά εκτελέστε το δίνοντας του διαφορετικά αριθμητικά ορίσματα από τη γραμμή εντολών, όπως και προηγουμένως. Τι έξοδο παίρνετε τώρα; Παρατηρείστε και εξηγείστε πώς ο τριαδικός τελεστής υπεισέρχεται στο όρισμα της putchar για να δώσει το επιθυμητό αποτέλεσμα. Άσκηση p6-6 (μεταγλώττιση και εκτέλεση) 6 5 / 10

Κάνουμε μια μικρή τροποποίηση στην προηγούμενη εικόνα: το μπαλάκι κινείται τώρα μέσα σε ένα κουτί που φτιάχνουμε σχεδιάζοντας δύο οριζόντιες γραμμές, πάνω και κάτω από την ευθεία στην οποία κινείται. Το πρόγραμμα όμως υφίσταται και ορισμένες σημαντικές ανακατατάξεις αφού εισάγουμε μια σειρά από συναρτήσεις για να ελέγχουμε καλύτερα την ανάπτυξη της κάθε λειτουργίας, καθώς και για να έχουμε την εποπτεία της δομής του βλέποντας τις κλήσεις των συναρτήσεων που υπάρχουν στη main. Γράψτε το επόμενο πρόγραμμα σε ένα αρχείο με το όνομα π.χ. p6_6.c, και μεταγλωττίστε το. Εδώ υπάρχουν μεγάλες αλλαγές σε σχέση με το προηγούμενο (όπως πάντα, με κόκκινο χρώμα). Εκτελέστε όπως πριν. #include <stdio.h> #define OFFSET 10 #define WIDTH 100 void draw_line(void); void draw_point(int); void time_delay(int, int*); int i, delay, kount=0; while(1) printf("\ntime=%d\n\n\n", kount); draw_line(); draw_point(kount); draw_line(); fflush(stdout); time_delay(delay, &kount); void draw_line( void ) 6 6 / 10

int i; putchar('\n'); for(i=0; i<offset-1; i++) for(i=0; i<width; i++) putchar('-'); putchar('\n'); void draw_point( int k ) int i; for(i=0; i<offset-1; i++) for(i=0; i<width; i++) if(k/width%2) putchar(i==width-k%width?'*':' '); else putchar(i==k%width?'*':' '); void time_delay(int delay, int *k) int s, t, stat; if((*k)++ > 1000) exit(stat); Τι έξοδο παίρνετε τώρα; Τι είναι πρωτότυπο μιας συνάρτησης και πού χρειάζεται; Τι είναι πέρασμα παραμέτρου (συνάρτησης) κατά τιμή και τι είναι πέρασμα κατά διεύθυνση; Εντοπίστε τη μεταβλητή ή τις μεταβλητές που περνάνε κατά διεύθυνση ως ορίσματα συναρτήσεων. Και μόνο από τα ονόματα των συναρτήσεων καταλαβαίνουμε αρκετά για τη λειτουργία τους. Σχολιάστε τη 6 7 / 10

σημασία του ευανάγνωστου και κατανοητού κώδικα. Άσκηση p6-7 Κάνουμε ένα τελευταίο κόλπο μετατρέποντας την κίνηση από ευθύγραμμη σε τεθλασμένη (ζικζακ). Εδώ φαίνεται το κέρδος από την ανακατάταξη που κάναμε προηγουμένως αφού τροποποιούμε μόνο μία συνάρτηση που αφήνει ανέπαφες τις υπόλοιπες. Η δε αλλαγή που κάνουμε, συνίσταται στην εισαγωγή ενός πίνακα χαρακτήρων ο οποίος παριστάνει το τμήμα της οθόνης που θέλουμε να σχεδιάσουμε. Κάθε φορά τοποθετούμε τον αστερίσκο στο κατάλληλο στοιχείο του πίνακα και έτσι παίρνουμε ένα στιγμιότυπο το οποίο μετά δεν έχουμε παρά να εμφανίσουμε στην οθόνη τυπώνοντας τις γραμμές του πίνακα ως αλφαριθμητικά με τη βοήθεια της printf. Γράψτε το επόμενο πρόγραμμα σε ένα αρχείο με το όνομα π.χ. p6_7.c, και μεταγλωττίστε το. Εκτελέστε όπως πριν. #include <stdio.h> #define OFFSET 10 #define WIDTH 100 #define DEPTH 10 void draw_line(void); void draw_point(int); void time_delay(int, int*); int i, delay, kount=0; while(1) printf("\ntime=%d\n\n\n", kount); draw_line(); draw_point(kount); draw_line(); fflush(stdout); time_delay(delay, &kount); 6 8 / 10

void draw_line( void ) int i; for(i=0; i<offset-1; i++) for(i=0; i<width; i++) putchar('-'); putchar('\n'); void draw_point( int k ) int i, j; char places[depth][width+offset+2]; for(i=0; i<depth; i++) for(j=0; j<width+offset+2; j++) places[i][j] = ' '; for(i=0; i<depth; i++) places[i][offset-1] = ' '; places[i][width+offset] = ' '; places[i][width+offset+1] = '\0'; if(k/width%2) j = OFFSET+WIDTH-k%WIDTH; else j = OFFSET+k%WIDTH; if(k/depth%2) i = DEPTH-k%DEPTH; else i = k%depth; places[i][j] = '*'; for(i=0; i<depth; i++) printf("%s\n", places[i]); void time_delay(int delay, int *k) 6 9 / 10

int s, t, stat; if((*k)++ > 1000) exit(stat); Τι έξοδο παίρνετε τώρα; Τι ρόλο παίζει ο μηδενικός χαρακτήρας, '\0', σε ένα πίνακα χαρακτήρων; 6 10 / 10