例如,我想检测字符串中的负数。我不确定将char转换为const char*是否有效(因为这样做会很痛苦,因为我不知道它会如何影响我的其余代码)。是否有一种方法可以检查输入[I]的任何值是否"等于"。少量/消极吗?
#include <iostream>
#include <string>
#define LOG(x) std::cout<<x<<std::endl;
char solveBIG(std::string input) {
for (int i = 0; i < input.size(); i += 2) {
if (input[i] = "-") {
//
}
}
}
int main() {
std::string example1 = {"1 2 3 - 5"};
LOG(solveBIG(example1))
}
您需要小心区分操作符=
和==
。第一个是赋值操作符,第二个是相等比较操作符。
你把它弄混了。
现在,如何检测字符串中的'-'
?
解决方案:您将遍历字符串并将字符串中的每个字符与'-'
字符'进行比较。
更多的解释:在许多编程语言中,所谓的循环s用于执行或重复代码块。
或者doiterateover"某事"。因此循环也称为迭代语句
c++也有循环或迭代语句。基本的循环结构是 对循环- , 循环
- ,
- 延伸的循环
- 基于范围的for循环
请点击链接并阅读c++参考中的描述。你可以使用它们中的任何一个来解决你的问题。
此外,您需要知道string
是容器。容器表示这种类型的变量包含来自几乎任何类型的其他元素。
例如,string
包含字符。
示例:如果您有一个等价于"Hello"
的字符串,那么它包含字符'h'
,'e'
,'l'
,'l'
,'o'
。
[]
。因此,如果要访问字符串中的一个字符,可以简单地使用变量名和下标操作符中指定的索引。
<<p>非常重要/strong>: c++中的索引从0开始。因此,string
中的第一个字符位于索引0处。例子:std::string test = "Hello";
std::cout << test[0];
将打印H
.
'-'
。
许多可能的实现之一:
for (int i = 0; i < input.size(); ++i) {
if (input[i] == '-') {
//
}
}