Δημοσιεύτηκε: 23 Μαρ 2012, 20:48
Κάνεις λάθος αναθέσεις στη 2η περίπτωση... βασικά προσπάθησε οι μεταβλητές σου να έχουν χαρακτηριστικά ονόματα, για να είναι πιο εύκολο να βγάζεις άκρη (θα σε βοηθήσει να βρίσκεις πιο γρήγορα τα λάθη σου).
Νομίζω πως θες να κάνεις κάτι σαν το παρακάτω...
Όπως είναι δουλεύει η 2η περίπτωση, για να δουλέψει η 1η άλλαξε το 0 του #if σε 1 (και κάνε re-compile).
Νομίζω πως θες να κάνεις κάτι σαν το παρακάτω...
- Μορφοποιημένος Κώδικας: Επιλογή όλων
-
#include <stdio.h>
#include <stdlib.h>
int main( void )
{
#if 0
char *sarr[] = {"abc", "def", "ghi"}; /* string array */
char **sp = NULL; /* string pointer */
sp = &sarr[1];
printf("%s\n", *sp);
#else
char sarr[][10] = {"abc", "def", "ghi"}; /* string array */
char *cp = NULL; /* char pointer */
cp = sarr[1];
printf("%s\n", cp);
#endif
system("pause"); /* windows only */
return 0;
}
Όπως είναι δουλεύει η 2η περίπτωση, για να δουλέψει η 1η άλλαξε το 0 του #if σε 1 (και κάνε re-compile).