c - 总和不正确 - C 中的 For 循环

标签 c for-loop

我正在尝试使用 C 来对 for 循环中的值求和。变量 x = 1 的初始值,我想将其加倍一定次数并将结果相加。我已经做了 for 循环,但我的总和总是偏离初始值。

例如,如果x = 1,则模式应为:

1, 2, 4, 8, 16

...总计应为31。不幸的是,总数减少了 1。

int x = 1;
int y = 10;
int total;

for(int i = 1; i < y; i++)
{   
   x *= 2;
   total += x;
}

printf("Total: %d\n", total);

这个差了一位。如何让循环以 1 而不是 2 开始?

最佳答案

交换 for 循环体中的两个语句。另外,如果您想将所有这些移至函数中,最好将总计初始化为 0。

关于c - 总和不正确 - C 中的 For 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7382064/

相关文章:

c - socket recv() 没有接收到数据

c - GCC -O3 6.1.1、5.3.1、4.1.2 无法编译正确的可执行文件(C 中的递归合并排序)

c++ - C/C++ 中奇怪的数组到指针的转换

c - 插入链表

javascript - 尝试使用 for 循环对值求和时出错

c- sysmalloc 断言问题

python - 使用 for 循环创建对象列表 (python)

javascript - 在 For 循环中分配 JQuery On Click 函数

javascript - 从函数返回时,for 循环未定义

javascript - 为循环附加变量 js