int findFirst(const string a[], int n, string target)
{
for (int i = 0; i < n; i++)
if (a[i] == target)
return i;
return -1;
}
如何在不使用方括号和使用以下函数头的情况下编写上述程序?
int findFirst(const string* a, int n, string target)
最佳答案
你可以简单地替换函数头; const string a[]
已经是一个指针参数,和const string* a
完全一样。
然后,您可以取消引用 a + i
for (int i = 0; i < n; i++)
if (*(a + i) == target)
或将 a
与 i
for (int i = 0; i < n; i++, a++)
if (*a == target)
或者你可以只使用指针
for (const string* p = a; p < a + n; p++)
if (*p == target)
关于c++ - 使用指针在数组中首次出现元素 (C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47492697/