C "for"循环问题

标签 c for-loop

我正在运行这个程序

#include <stdio.h>
int main ()
{
  int n;
  int a = 1;
  int b = 2;
  int product;
  int i;

  printf("How many numbers of the sequence would you like \n");
  scanf("%d",&n);

  for (i=0;i<n;i++)
  {
    printf("%d\n",a);
    product = a * b;
    a = b;
    b = product;
  }

   return 0;
}

当我输入 n = 3 时,结果是 1 2 2
为什么 ?我打算让它显示 1 2 4,我做错了什么?为什么打印 1 2 2 。

最佳答案

And why is it print 1 2 2 .

printf("%d\n",a); 的逐步跟踪:

i  a  b  product
0  1  2  ?
1  2  2  2
2  2  4  4
3  4  8  8
4  8  32 32

关于C "for"循环问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32549879/

相关文章:

多个字符串的Javascript过滤数组

r - 使用一个 df 中的名称创建另一个数据帧的相同列副本

javascript - 在 JS 中迭代我的数组,但出现 "Cannot read property ' length' of undefined"错误

java - 在 Java 中,如何添加每个循环的结果?

java - 在 Windows 中将 SWIG 生成的文件构建到 DLL 中

c - 不确定如何为测验程序构建代码。

c++ - 计算小数部分并以精确的方式显示小数点后的数字

c - 为什么下面的代码容易受到堆溢出攻击

c - data/bss/heap 和 stack 中的内存分配

java - For 循环仅运行一次