【发布时间】:2015-12-20 23:42:40
【问题描述】:
我正在尝试编写在char* 数组中搜索char * 元素的函数,并且函数开始检查该元素,如果该元素存在于数组中,我将“找到”,如果不是,它应该是“插入”并将元素添加到数组中。
我写了这段代码,但我不知道如何尝试,程序总是给我异常,我该怎么做才能检查指针数组中的元素?
void checkFunction(char*myArray[], char *element,bool flag)
{
for (int i = 0; i < strlen(*myArray) ; ++i)
{
if (myArray[i] == element)
{
flag = true;
}
}
*myArray = element;
flag = false;
if (flag)
{
cout << "Found" << endl;
}
else
{
cout << "Inserted" << endl;
}
}
【问题讨论】:
-
您还没有准备好使用指针和数组,它们是面向专家的高级低级语言功能。请使用
std::string和std::vector。 -
当你比较一个 char 指针和另一个 char 指针时,你不是在比较它们的值。您正在比较他们在记忆中的位置。你必须像这样检查它们:strcmp(a, b) == 0;
标签: c++ arrays function pointers void