【发布时间】:2016-08-25 23:12:56
【问题描述】:
我的代码返回零,而不是实际计算数字中实际存在的数字实例的数量。我对自己做错了什么感到困惑。
int number_times_appear(int digit, int number)
{
int total = 0;
string stringNumber = to_string(number);
char charDigit = digit;
total = count(stringNumber.begin(), stringNumber.end(), charDigit);
cout << total;
return total;
}
【问题讨论】:
-
char charDigit = digit;并没有按照你的想法去做。停止尝试基于猜测编写 C++。 -
我在另一个论坛上看到有人这样做。他们将其描述为隐式类型转换。
-
这正是我要说的。在您的代码中使用隐式转换
int->char之前,请查看它的作用。 -
当然它会转换(以及您愉快地忽略的编译器警告),但它仍然没有按照您的想法执行。
标签: c++