我有一个非常简单的 const char 数组示例和一个应该将它们打印出来的函数(遍历所选的一个)。与我的所有期望相反,它正在遍历所有这些,而不仅仅是作为参数传递的那个。
#include <iostream>
const char* oranges[] = {
"ORANGE",
"RED ORANGE"
};
const char* apples[] = {
"APPLE"
};
const char* lemons[] = {
"LEMON"
};
void printFruit(const char** fruit){
int i =0;
while (fruit[i] != '\0'){
std::cout << "---------------------\n";
std::cout << fruit[i] << "\n";
i++;
}
}
int main (int argc, const char * argv[])
{
printFruit(oranges);
return 0;
}
我期望的结果是函数 printFruit 以橙子作为参数将打印 ORANGE 和 RED ORANGE,同时我打印了所有定义的水果(来自其他数组),如下所示:
---------------------
ORANGE
---------------------
RED ORANGE
---------------------
APPLE
---------------------
LEMON
对不起我的无知,但为什么会发生这种情况?
编辑:我关注了这个问题:在与我的类似的 c 中定义和迭代字符串数组。