毫无疑问显示迭代数字



我试图将我的数字函数从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提到的

最新更新