永发信息网

int i=1; double p; while(i<=5) {p=p*i; i++;} printf("%f,%d\n",p,i); 的计算i的结果跟for()的不一样?

答案:3  悬赏:80  手机版
解决时间 2021-02-16 01:46
  • 提问者网友:刺鸟
  • 2021-02-15 18:37
跟for(i=1;i<=5;i++)
{p=p*i;
printf(("%f,%d\n",p,i);
两者计算后while()计算出i=6,而for()计算出i=5。这是为什么呢?
最佳答案
  • 五星知识达人网友:何以畏孤独
  • 2021-02-15 19:10
对于while循环,当i=5时,满足条件,i++了,此时i=6,然后再printf,因此输出的i是6;
对于for循环,当i=5时,满足条件,然后printf,输出的是i=5,然后才是i++。
全部回答
  • 1楼网友:往事埋风中
  • 2021-02-15 20:23
while到i=6时不满足i<=5 for到i=6时就不打印print了
  • 2楼网友:老鼠爱大米
  • 2021-02-15 20:06
没有错。n没有给具体值。不知道你在说谁大于8时预算结果都一样?
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯