【发布时间】:2017-10-22 07:10:48
【问题描述】:
您好,我是 C++ 初学者,这是我在编写函数时遇到的一个问题。
bool函数isData用于查看数组成员是否全为数字。通常大小为 11 或 9 或 7,所以我不想硬编码。但我不确定 for 循环是否在 if 条件下工作。如果您能告诉我一个更简单的方法,我将不胜感激。
bool isData(string temp[], int size)
{
if(
for (int i;i<size;i++)
{
59 > +temp[i].at(0) && +temp[i].at(0) > 47 || +temp[i].at(0) == 45
}
)
{
return true;
}
else
{
return false;
}
}
【问题讨论】:
-
你可能不知道
std::all_of?我假设您正在学习一个相当古老的 C++ 教程,因为string[]大约有 20 年的历史。这甚至早于 1998 年的 C++ 变体,而std::all_of只有 6 岁(2011 年) -
您不能使用 for 循环作为 if 语句的条件。条件必须是表达式,而 for 循环不是表达式。
-
此外,
is_digit的测试比自己检查 ASCII 值更易读。并且检查== '-'会比检查 45 更清晰。 -
for (int i;i<size;i++)i的初始值是多少?
标签: c++ arrays function loops if-statement