如何编写一个程序来检测并返回数组中第一个非空字符串(非*)? c++
时间: 2024-10-21 10:14:21 浏览: 19
在C++中,你可以通过遍历数组元素,检查每个元素是否为空(非*字符),直到找到一个非空的字符串为止。这里是一个简单的示例,假设数组是`std::string`类型:
```cpp
#include <iostream>
#include <string>
std::string findFirstNonEmptyString(const std::string(&arr)[n]) {
for (int i = 0; i < n; ++i) {
if (arr[i] != "*") { // 检查元素是否为空串或非*
return arr[i]; // 如果找到非空,立即返回
}
}
return ""; // 如果数组中所有都是*,则返回空字符串
}
int main() {
const std::string array[] = {"", "hello", "*", "world", "*"};
int size = sizeof(array) / sizeof(array[0]);
std::string firstNonEmpty = findFirstNonEmptyString(array);
if (!firstNonEmpty.empty()) {
std::cout << "First non-empty string is: " << firstNonEmpty << std::endl;
} else {
std::cout << "No non-empty strings found." << std::endl;
}
return 0;
}
```
在这个例子中,`findFirstNonEmptyString`函数接受一个字符串数组作为输入,然后查找并返回第一个非空的字符串。如果找不到,返回一个空字符串。
阅读全文