如果我声明了一个外部变量,例如extern char **seasons
. 有关如何编写循环以遍历此数组的任何提示?假设 NULL 值是停止条件?
问问题
152 次
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
这里有 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
如果arr
是您的数组并且您想在该索引处停止i
contains arr
,NULL
则标准for
循环将如下所示:
for (i = 0; arr[i]; i++)
dostuff(arr[i]);
于 2013-11-05T10:57:01.777 回答
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 回答