是不是因為不同編譯器的標準不同?
為什么我的代碼在慕課網有效,在終端上卻有問題(值很大)?我用codeblocks編譯的。
#include <stdio.h>
int Getsum(int score[]) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //計算總分的函數
{
? ? int i,sum;
? ? for(i=0;i<10;i++)
? ? {
? ? ? ? sum+=score[i];
? ? }
? ? return sum;
}
int main()
{
? ? int sum;
? ? int score[]={67,98,75,63,82,79,81,91,66,84};
? ? sum ?= Getsum(score);
? ? printf("總分:%d",sum);
? ? return 0;
}
2015-02-09
是因為你的sum沒有附初值。這樣的話,不同環境可能分配的未知內存上的數未知。。
2015-05-25
局部定義中,int a 是動態局部變量,不賦值,系統就會隨機賦值;static int a是靜態局部變量,若不賦值,系統會賦初始值0;
2015-02-10
正如樓上所說,函數中的local變量如果沒有初始化的話,其值是不確定的。