我对 C 还不是很熟悉,还面临另一个问题。通常我会从这里找到问题的答案,但这次我没有。可能有一个,但无论如何......
这是交易。我有一组字符串,我想打印它们,每一项都有自己的一行。数组以 NULL 结尾。
这是我的 atm 代码的简化版本。
print_my_array(char *array[])
{
while(*array != NULL){
char *item = *array;
while (item)
{
int i = 0;
printf("%c", item[i]);
i++;
}
printf("\n");
array++;
}
}
所以这就是我相信我的代码所做的。我有一个名为数组的数组。我使用名为 item 的指针并用它指向数组中的第一项。然后我遍历该项目并一个一个地打印所有字符。当我完成项目时,我打印\n 并通过移动数组指针并开始循环来移动到下一个项目。
最佳答案
内循环错误:
while (item)
{
// all your code
}
应该是
while (*item)
{
printf("%c", *item++);
}
当然,使用 printf("%s\n", *array++);
并完全跳过内部循环会更有意义。
关于c - 逐字符打印字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35343257/