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

最新回答 / 皓哲2000
一般好像不可以,isfat=y好像只能用这个
我觉得解析思路有问题:照先算高优先级的()!那这样:int x=1;int y=1;求:++x+2*8/y*(x*2)/2;如果按上述操作,先算():++x+2*8/y*(1*2)/2 --> 2+16/1*2/2 --> 2+16*2/2-->2+32/2 -->2+16 -->结果:18。然而正确结果是:34。运算过程:2+16/1*(2*2)/2 --> 2+16*4/2 --> 2+64/2 --> 2+32 --> 结果:34。我觉得运算:应先由左往右运算,优先级高的捆扎一起运算。我这里这道就是先从左往右,后面是比+优先级高的* 、/ 所以*、/ 扎堆运算、同级别仍然遵循从左往右执行
我感觉题干这种写法对于初学者有误导作用。int a=3;b=4;这个写法让我对之前看的语法产生了疑问。最后不得不再回头看并测试了一下,程序里这个写法不对,毕竟这是程序题,不是传统意义上的数学题!我觉得在这里再怎么也该把a=3后面的;写成,对于初学者有时很容易记住一些不正确却又常见的这种写法!题干上能正确表达语法的就表达!不能的大家也都知道!这是我看到这道题的一种感受!

最新回答 / GALLENTE
result是定义成了double,double是双精度型浮点型,所以%d不行。(个人见解)
感觉执行逻辑是,
​例如当外循环m=5
内循环从n=2开始一直自增到n=4,都不满足if(m%n==0),所以不执行break,就没跳出内循环,当n自增到n=5,因为不满足内循环for的条件:n<m,所以退出内循环,往下执行if(m==n),因为满足条件,所以输出m=5.

然后外循坏自增到m=6,内循坏重启,n=2,满足内循环的if(m%n==0),然后执行break,退出内循环,执行下一句if(m==n),因为不满足,所以printf("%d",m)不执行,回到外循环开始对m进行自增。

。。。。。。。。。。

最新回答 / 1wkq1
/* 主函数 */int main(){    sayLove();    dividLine();    return 0;}在main函数中调用函数就可以

最新回答 / 魔方酷爱者
你的switch下的命令没有加大括号{}

已采纳回答 / weixin_慕雪8055451
因为在 m=4时 第四次开始内循环,所以还是从 n=2开始的,每次内循环开始时n都会被初始化为2,所以 4%2==0 符合  if(   m%n==0   ) break;结论就是:第二层循环不会执行到n=4才跳出循环,会提前跳出循环,因为4能被2整除。m=1时 n=2内循环结束m=2时 n=2内循环执行一次m=3时 n=2内循环执行两次 2,3m=4时 n=2内循环执行三次2,3,4 ,但是因为m%n==0 所以实际执行了1次m=5时 n=2内循环执行了四次 2,3,4,5
课程须知
本教程仅仅是C程序设计的入门教程
老师告诉你能学到什么?
什么是程序; 什么是程序结构; 什么是函数; 什么是数组.
意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消