【发布时间】:2018-07-10 20:14:35
【问题描述】:
所以我有这段代码,我很困惑如何通过将元素的数量放入循环条件中来循环遍历由字符组成的数组的大小,而不必手动输入一个数字,比如说“i
我尝试使用 std:array 并通过 for-range 循环传递它,但这并没有给我带来太多成功。
#include <iostream>
using namespace std;
int main()
{
int r = 0;
while (r == 0)
{
char op;
float num1, num2;
char operators[] = { '+', '-', '*', '/' };
bool check1 = false;
cin >> num1;
cin >> op;
for (int i = 0; i < 4; i++)
{
if (op == operators[i]) {
check1 = true;
break;
}
}...
抱歉 :) 仍在学习如何正确发布代码
【问题讨论】:
-
基于范围的
for循环有什么问题? -
你指的是什么
success?社会地位、金钱、权力还是其他什么? -
如果将
operators重新定义为std::vector<char>,则可以使用operators.size()查询向量的长度。此外,这使您可以编写更清晰的基于范围的 for 循环:for (char ch : operators){ if (op == ch){ check1 = true; break; } } -
@alterigel 基于范围的
for循环也适用于 C 样式数组(当它们不衰减为指针时) -
所以我尝试了:
for(const char &ops : operators) { ...same code as in other foor loop },但我无法弄清楚出了什么问题。
标签: c++ arrays loops calculator elements