Δημοσιεύτηκε: 23 Μαρ 2012, 20:48
από migf1
Κάνεις λάθος αναθέσεις στη 2η περίπτωση... βασικά προσπάθησε οι μεταβλητές σου να έχουν χαρακτηριστικά ονόματα, για να είναι πιο εύκολο να βγάζεις άκρη (θα σε βοηθήσει να βρίσκεις πιο γρήγορα τα λάθη σου).

Νομίζω πως θες να κάνεις κάτι σαν το παρακάτω...

Μορφοποιημένος Κώδικας: Επιλογή όλων
#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).