Δημοσιεύτηκε: 23 Μαρ 2012, 21:21
Βασικά αυτό που προσπαθώ να κάνω είναι να τυπώσω ένα-ένα τα strings μιας array.
Με subscripting θα γινόταν έτσι:
Το πρόβλημα αν πάμε να το κάνουμε με pointer arithmetic είναι το πως θα πάμε απ' το ένα string στο άλλο.
Το υλοποίησα έτσι:
Υπάρχει κάποια καλύτερη λύση;
Με subscripting θα γινόταν έτσι:
- Μορφοποιημένος Κώδικας: Επιλογή όλων
-
#include <stdio.h>
#define N 3
int main(void)
{
char table[N][100] = {"abc", "def", "ghi"};
int i;
for (i = 0; i < N; i++)
printf("%s\n", table[i]);
return 0;
}
Το πρόβλημα αν πάμε να το κάνουμε με pointer arithmetic είναι το πως θα πάμε απ' το ένα string στο άλλο.
Το υλοποίησα έτσι:
- Μορφοποιημένος Κώδικας: Επιλογή όλων
-
#include <stdio.h>
#define N 3
#define STRINGLEN 100
int main(void)
{
char table[N][STRINGLEN] = {"abc", "def", "ghi"}, *p;
for (p = table[0]; p <= table[N-1]; p += STRINGLEN)
printf("%s\n", p);
return 0;
}
Υπάρχει κάποια καλύτερη λύση;