Δημοσιεύτηκε: 03 Μαρ 2012, 15:17
από Ilias95
migf1 έγραψε:Παρεμπιπτόντως, ωραία η άσκηση 6
Να μια λύση:
-
Μορφοποιημένος Κώδικας: Επιλογή όλων
-
#include <stdio.h>
#include <ctype.h>
int main(void)
{
int i = 0, x;
char characters[251+1], ch;
printf("Enter message: ");
while ((ch = getchar()) != '\n')
characters[i++] = ch;
printf("In B1FF-speak: ");
for (x = 0; x < i; x++) {
ch = toupper(characters[x]);
switch (ch) {
case 'A': putchar('4'); break;
case 'B': putchar('8'); break;
case 'E': putchar('3'); break;
case 'I': putchar('1'); break;
case 'O': putchar('0'); break;
case 'S': putchar('5'); break;
default: putchar(ch); break;
}
}
printf("!!!!!!!!!!");
return 0;
}
migf1 έγραψε:Τώρα που το ξανασκέφτομαι, αν θέλεις να χρησιμοποιήσει VLA, μπορείς να ρωτάς τον χρήστη ποιο είναι το μέγιστο μέγεθος για το string

Δεν νομίζω ότι είναι τόσο βολικό και πρακτικό. Θα πρέπει να γίνεται και έλεγχος μήπως έδωσε μέγεθος μεγαλύτερο αυτού που δήλωσε.
Τα αρνητικά του να δηλώσουμε κατευθείαν ένα μεγάλο μέγεθος (251+1 πχ) ποια είναι; Θα "σπαταληθεί" περισσότερη μνήμη;