大一新生,请问在数据类型后面对一个变量赋初始值和在for语句的表达式1里面给这个变量赋初始值有什么区别

问题如下,其中一个没有结果,一个结果正确。
请问在数据类型后面对一个变量赋初始值和在for语句的表达式1里面给这个变量赋初始值有什么区别

img

img

在外部初始化,以后结果的变化会始终保存;
第一段代码是在for循环内赋初值,它其实是让a从0到300,a每增加一,那么你的sum1就要从0开始重新参与计算;
而第二段代码则会让sum1的值,上一轮循环的结果继续保留,下一轮循环时不会从0开始,导致错误;
解决办法:你可以在内层循环开始前将sum1先赋值为0;