0

のような外部変数を宣言した場合extern char **seasons。この配列を反復するループを作成する方法に関するヒントはありますか? NULL 値が停止条件であると仮定しますか?

4

4 に答える 4

3

配列が次のようになっていると仮定します。

const char *data[] = {"This", "is", "an", "array", "of", "strings", NULL};

次のように繰り返すことができます:

const char** seasons = data;
int i;
for(i = 0; seasons[i] != NULL; ++i) {
    printf("%s ", seasons[i]);
}
于 2013-11-05T11:22:01.397 に答える
0

が配列であり、そのインデックスでarr停止したい場合は、標準のループは次のようになります。iarrNULLfor

for (i = 0; arr[i]; i++)
   dostuff(arr[i]);
于 2013-11-05T10:57:01.777 に答える
0

3 つのバリエーションを次に示します。

extern char **seasons;
size_t i;
for(i = 0; seasons[i]; i++) {
   do_something(seasons[i]);
}

また

extern char **seasons;
char **i;
for(i = seasons; *i ; i++) {
   do_something(*i);
}

また

extern char **seasons;
char **i = seasons;
while(*i) {
   do_something(*i);
   i++;
}
于 2013-11-05T11:25:29.753 に答える
0
#include <stdio.h>
#include <stdlib.h>

extern char **seasons;

int main(){
  int i = 0;
  while(seasons[i] != NULL){
    printf(seasons[i]);
    i++;
  }
  return 0;
}
于 2013-11-05T10:56:13.477 に答える