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

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

新手求幫忙解答一下

#include <stdio.h>

int main()

{

? ? int age; ? ? ? ? ? ? ? ? ? ? ? ?/*這里定義年齡*/

? ? printf("我今年%d歲!\n", age);

? ? return 0; ? ?

}

這里我給給age賦值,但是輸出的是“我今年0歲!”,這是為什么?求幫忙解答。

正在回答

15 回答

沒有給age賦值啊

scanf("%d",&age);

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

路過,學習!

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

因為如果不給變量賦值,那么變量默認初始化賦值為0

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

如樓上所說,你定義了一個int變量age,但沒有初始化。

但是這種定義在函數中的local變量(或稱自動變量auto),如果在定義時未初始化,那它的值是不確定的,可能是任意值。編譯器通常會給出警告,類似于'age' is uninitialized

如果age是定義在函數之外的,稱為global全局變量。未初始化的情況下,其初值為0。

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

我在你代碼中看到的,你只是定義了int類型的age變量,但是并沒有給age賦值。而在C語言中,如果只是定義了變量而不對變量進行賦值的話,默認會是0

1 回復 有任何疑惑可以回復我~
首頁上一頁12下一頁尾頁

舉報

0/150
提交
取消
C語言入門
  • 參與學習       926905    人
  • 解答問題       21532    個

C語言入門視頻教程,帶你進入編程世界的必修課-C語言

進入課程

新手求幫忙解答一下

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

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

幫助反饋 APP下載

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

公眾號

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