在 C 中工作,我正在用函数的 char* 返回值填充数组
char* files[4][12];
int i = 0;
for (;;)
{
char* file = get_value();
strcpy(files[i],file);
i++;
if (i > 4 || external_condition)
break;
}
// When I break out of
// my for loop the following
// code executes
for (i = 0; i < 5; i++)
{
if (files[i] != NULL)
manipulate(files[i]);
}
我的问题是,如果我在没有为文件的所有元素分配值的情况下跳出第一个 for 循环,那么我在第二个 for 循环中的比较将失败。如果只有文件[0] 和文件[1] 有内容,则循环无论如何都会处理文件[2]、文件[3] 和文件[4]。