我试图在C中枚举一个数组,就像pythons枚举方法一样。
static void enumerate(char *choices[])
{
int i;
int length = sizeof(choices)/sizeof(*choices);
for (i = 0; i < length; i++)
{
printf("[%d] %s\n", i, choices[i]);
}
}
我希望这是如何工作的,创建一个数组(或列表):char *test[] = {"test", "testing};
然后将该数组(或列表)传递给函数:enumerate(test);
并且预期输出应该是:
[0] test
[1] testing
然而,当我尝试这个时,我得到的输出只是数组中的第一项:
[0] test
我错误地认为这不起作用,因为我期待它?