我试图将我的数字函数从0到9循环,但是在我想存储到变量之后。它总结了,但我不想拥有这种行为。我只想显示数字
int Common::digits() {
int digits = 0;
for (int i = 0; i <= 9; i++) {
digits += i;
}
return digits;
}
digits += i;
不 contente i
to digits
,它总结了。
一种方式,由于std::string
管理其内存的方式,这些天令人惊讶地有效,是使用
std::string Common::digits() const/*assume class member function*/{
std::string res;
for (int i = 0; i <= 9; i++) {
res += std::to_string(i);
}
return res;
}
int
返回类型不合适,原因有两个(i(零是任意的,(ii( int
在许多范围内很容易受到溢出的影响。
如果您真的希望它作为int,则可以乘以值并添加然后:
int Common::digits() {
int digits = 0;
for (int i = 0; i <= 9; i++) {
digits *= 10;
digits += i;
}
return digits;
}
,但这仅适用于小于10的数字,否则您必须获得数字的小数(在获得0或类似的时间之前可以除以多久除以10((乘以10^(该数字(,并且可以之后添加。当然,您将失去落后的零,并且随着Bathsheba提到的