我试图将我的数字函数从0循环到9,但是想存储到变量后。总结一下,但是我不想有这种行为。我只想显示数字
int Common::digits() {
int digits = 0;
for (int i = 0; i <= 9; i++) {
digits += i;
}
return digits;
}
答案 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所述