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

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

求解 C 變量初始值問題 為什么不是0

#include?<stdio.h>
void?getCount(?int?arr[]);
void?getUp(?int?arr[]);
int?main(){????
????int?score[10]={67,98,75,63,82,79,81,91,66,84};
????????getCount(score);????
????????getUp(score);???
?????????//return?0;
?}
void?getCount(?int?arr[])
{????
????//這里聲明變量?但不賦值;
????int?count;?
????for(int?i=0;i<10;i++)
????{?????
???????count?+=?arr[i];??
????}
?????//輸出正常,count?默認給的0;
?????printf("總分數為%d\n",count);
}

void?getUp(?int?arr[])
{????
????//這里也聲明變量不賦值;
????int?up;????
????for(int?i=0;i<10;i++)
????{????????
????????printf("up?=?%d\n",up);????????
????????if(i+1?>?9)?break;????????
????????if(arr[i]?>?up)
????????{????????????
????????????up?=?arr[i];??????????
????????}????
????????//輸出異常,up默認值為上面的count值?786.。。。。求解
????????printf("最高分為%d\n",up);
}

求解 如果在C里面? 聲明 int 變量而不賦值 默認值不應該是0么?

正在回答

1 回答

定義局部變量,其實就是在棧中通過移動棧指針來給程序提供一個內存空間和這個局部變量名綁定。因為這段內存空間在棧上,而棧內存是反復使用的(上次用完沒清零的),所以說使用棧來實現的局部變量定義時如果不顯式初始化,值就是不確定的。

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

舉報

0/150
提交
取消

求解 C 變量初始值問題 為什么不是0

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

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

幫助反饋 APP下載

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

公眾號

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