为了账号安全,请及时绑定邮箱和手机立即绑定

小白问题 关于for

小白问题 关于for

C
Labermax 2017-10-17 22:58:16
#include<stdio.h>int main(){    double sum=0;    double i;    if(i=1.0,i<=100,i=i+2)    {        sum=sum+i;     }        printf(" sum=%10.8f\n  ",sum);    return 0; }为什么最后的结果是3.000000   不应该是更大的数字吗?  为什么循环提前结束了?
查看完整描述

1 回答

已采纳
?
onemoo

TA贡献883条经验 获得超454个赞

你哪里写 for 循环了?

你写的是 if!

而且 for 后面小括号中的三个部分是用分号隔开的。

查看完整回答
反对 回复 2017-10-17
  • Labermax
    Labermax
    。。。才发现,犯了低级错误,谢谢
  • onemoo
    onemoo
    之所以这个代码能正常编译是因为在语法上仍然正确!当然它没法实现你想要的循环。 这里你写成if语句了,而恰好if后面的括号中你也用逗号分隔(如果你用for的分号来分隔就有语法错误了)。这样if的括号中成了“逗号表达式”。逗号表达式的值是表达式最后一个逗号后的内容——也就是i=i+2的值,这个值不是0,被判断为true,所以执行了if大括号中的内容。
  • 1 回答
  • 0 关注
  • 1127 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信