c – 将while循环转换为for循环

一个简单的while循环并尝试使其成为for循环

i=1
while(i<=128)
{     printf("%d",i);
   i*=2;
}

这是我的for循环

for (i=1;i<=128;i++)
{ 
   printf("%d",i);
   i*=2;
}

怎么不给出相同的输出?第一个将打印1248163264128,for循环打印137153163127?

解决方法

因为你也在for循环中递增i.在你原来的while循环中,我永远不会增加.

试试这个:

for (i=1; i<=128; i*=2)  //  Remove i++,move the i*=2 here.
{
    printf("%d",i);
}

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...