帮忙看一下这段代码;不对i和SUM赋初值;运行结果为什么第一个是16?
#include <stdio.h>
#include<windows.h>
int main()
{
int i,sum;//循环变量
for (; i<=100; i++)
{
sum=sum+i;
printf("%d\t", sum ); // \t是跳到下一个Tab位置
}
printf("\n");
system("pause");
return 0;
}
这个是无法预料的,它的值是什么不同环境不同
好比一条公路,公路范围内是柏油地面,但是出了公路边界是什么,可能是农田,也可能是悬崖,也可能是墙壁,这个无法预料。
如果开始不初始话的话,那它的值会一直在里面,每次运行都是用的上一个值,你初始化下
我帮你改了一下:
#include <stdio.h>
#include<windows.h>
int main()
{
int sum=0;//循环变量
for (int i=1;i<=100;i++)
{
sum=sum+i;
printf("%d\t",sum); // \t是跳到下一个Tab位置
}
printf("\n");
system("pause");
return 0;
}
变量不初始化,sum的初始值是随机的。
不对i和SUM赋初值;运行结果为什么第一个是16
i 隐式赋值为0
输出是个随机值,赶巧它等于16。