为什么我的If-Else从未评估为真?

时间:2017-01-12 08:46:25

标签: c++ c++11 if-statement

我应该计算变量整数的次数" num"将每个数字结果除以一个干净的商(余数为0)。

注意:每个数字都被认为是唯一的,因此每次出现相同的可分割数字都应计算在内(即:222,答案为3)。

File

这个函数总是返回0(这是什么变量int" divisible被初始化为),因为用于递增它的if-else总是计算为false并被跳过。我已检查并确保If-Else参数包含有效数字(它们是全部整数)。是因为它们都是整数,结果的小数部分永远不会达到If-Else进行评估?这是我能想到的最好的可能性,即便如此,我也不知道如何补救。

1 个答案:

答案 0 :(得分:2)

  1. 了解std::string的{​​{3}}功能。您不需要endbegin来获取string的长度。
  2. numString[x-1]返回char个ASCII码,而不是数字作为数值。例如,0的ASCII代码为十进制48。要获得单个数字的数值,您可以执行以下操作: numString[x-1] - '0'