亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

是不是因為不同編譯器的標準不同?

為什么我的代碼在慕課網有效,在終端上卻有問題(值很大)?我用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;

}

http://img1.sycdn.imooc.com//54d8366f00011fd204650110.jpg

正在回答

3 回答

是因為你的sum沒有附初值。這樣的話,不同環境可能分配的未知內存上的數未知。。

1 回復 有任何疑惑可以回復我~
#1

為愛逞能 提問者

非常感謝!
2015-02-10 回復 有任何疑惑可以回復我~

局部定義中,int a 是動態局部變量,不賦值,系統就會隨機賦值;static int a是靜態局部變量,若不賦值,系統會賦初始值0;

0 回復 有任何疑惑可以回復我~

正如樓上所說,函數中的local變量如果沒有初始化的話,其值是不確定的。

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

是不是因為不同編譯器的標準不同?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號