显示没有总数的迭代数字

时间:2019-05-17 08:22:11

标签: c++

我试图将我的数字函数从0循环到9,但是想存储到变量后。总结一下,但是我不想有这种行为。我只想显示数字

int Common::digits() {
    int digits = 0;
    for (int i = 0; i <= 9; i++) {
        digits += i;
    }
    return digits;
}

2 个答案:

答案 0 :(得分:4)

digits += i;不能与i保持一致 。

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; } 返回类型是不合适的,原因有两个:(i)前导零是任意的;(ii)int容易在该数量级上溢出。

答案 1 :(得分:0)

如果您确实希望将其作为整数,则可以乘以该值并将其相加:

int Common::digits() {
    int digits = 0;
    for (int i = 0; i <= 9; i++) {
        digits *= 10;
        digits += i;
    }
    return digits;
}

但这仅适用于小于10的数字,否则您必须获得数字的十进制长度(多久可以除以10才能得到0或类似值)乘以10 ^(该数字)即可然后添加。 当然,您将失去尾随零,并且正如Bathsheba所述