l_0_0_w 2022-09-26 17:21 采纳率: 85.7%
浏览 27
已结题

关于C语言中的for语句

问题遇到的现象和发生背景

C语言
for语句

运行结果及报错内容

#include<stdio.h>
int main()
{
double sum_1 = 0,m=1;
int k, i;
for ( i= 1; i <= 20; i++)
{

    for (k = 1; k <= i; k++)
    {
        m *= k;

    }
    sum_1 += m;
}
printf("%lf", sum_1);
return 0;

}

_
"m=1"这个点。这个是错的,但把m弄到第一个for语句里面“double m=1;"的话就又对了。我感觉两个地方都一样啊!为什么啊?
_

我想要达到的结果

m在两个地方的逻辑分别是什么啊?

  • 写回答

3条回答 默认 最新

  • Java大魔王 2022-09-26 17:23
    关注

    放在循环里,每次循环m的值都会初始化为1
    放在外面,m的值就会一直累积

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 10月4日
  • 已采纳回答 9月26日
  • 修改了问题 9月26日
  • 创建了问题 9月26日

悬赏问题

  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥30 BC260Y用MQTT向阿里云发布主题消息一直错误
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)