我在Visual Studio上研究C ++项目。我通常有更多代码,但是我为您准备了代码的简单基本示例:
void printArray(string theArray[], int sizeOfArray);
int main()
{
string data[] = { "Hi","my","name","is","John"};
int num_elements = sizeof(data) / sizeof(data[0]);
printArray(data, num_elements);
system("PAUSE");
return 0;
}
void printArray(string theArray[], int sizeOfArray) {
for (int x = 0; x < sizeOfArray; x++) {
cout << theArray[x] << endl;
}
}
那么,有什么办法可以找到数组的最后一个项目吗?
我的预期输出看起来只有John
答案 0 :(得分:2)
代替此:
for (int x = 0; x < sizeOfArray; x++) {
cout << theArray[x] << endl;
}
您可以简单地说:
cout << theArray[sizeOfArray - 1] << endl;
如果只想打印一个元素,则不需要循环。
答案 1 :(得分:2)
您可以使用std::vector
代替数组,并使用std::vector::back
访问最后一个元素。
#include <vector>
#include <iostream>
#include <string>
void printArray(std::vector<std::string> theArray);
int main()
{
std::vector<std::string> data = { "Hi","my","name","is","John"};
printArray(data);
system("PAUSE");
return 0;
}
void printArray(std::vector<std::string> theArray) {
for (const auto &element : theArray) {
cout << element << endl;
}
cout << "Last: " << theArray.back() << endl;
}
vector
是标准c ++的一部分。如果您学习c ++,则应使用容器。 std::vector
的替代方法是std::array
。两者都存储大小,因此您无需将其作为参数传递给函数。
答案 2 :(得分:1)
您不需要遍历所有元素,
string lastElement=theArray[sizeofarray-1]