Δημοσιεύτηκε: 25 Φεβ 2012, 14:34
Done!
Και μια απορία. Η 2η άσκηση σελ.71 ζητάει να πάρω έναν τριψήφιο αριθμό και να τον αντιστρέψω.
Η λύση του King:
Η δικιά μου:
Υπάρχει κάποιος ιδιαίτερος λόγος να προτιμήσει κάποιος την πρώτη λύση; Μου φαίνεται λιγότερο ευανάγνωστη και πιο δυσνόητη.
Ή έχει να κάνει με το ότι εγώ δηλώνω 3 μεταβλητές ενώ αυτός μία; Είναι καλό να αποφεύγουμε την δήλωση μεταβλητών όσο μπορούμε;
Και μια απορία. Η 2η άσκηση σελ.71 ζητάει να πάρω έναν τριψήφιο αριθμό και να τον αντιστρέψω.
Η λύση του King:
- Μορφοποιημένος Κώδικας: Επιλογή όλων
-
#include <stdio.h>
int main(void)
{
int n;
printf("Enter a three-digit number: ");
scanf("%d", &n);
printf("The reversal is: %d%d%d\n", n % 10, (n / 10) % 10, n / 100);
return 0;
}
Η δικιά μου:
- Μορφοποιημένος Κώδικας: Επιλογή όλων
-
#include <stdio.h>
//#include "myextras.h"
#define mySCANF( ... ) \
do { \
char iNPutbUfFeR[1024+1] = {'\0'}; \
fgets( iNPutbUfFeR, 1024+1, stdin ); \
sscanf( iNPutbUfFeR, __VA_ARGS__ ); \
} while(0)
int main(void)
{
int a, b, c;
printf("Enter a three-digit number: ");
mySCANF("%1d%1d%1d", &a, &b, &c);
printf("The reversal is: %d%d%d\n", c, b, a);
return 0;
}
Υπάρχει κάποιος ιδιαίτερος λόγος να προτιμήσει κάποιος την πρώτη λύση; Μου φαίνεται λιγότερο ευανάγνωστη και πιο δυσνόητη.
Ή έχει να κάνει με το ότι εγώ δηλώνω 3 μεταβλητές ενώ αυτός μία; Είναι καλό να αποφεύγουμε την δήλωση μεταβλητών όσο μπορούμε;