新手求幫忙解答一下
#include <stdio.h>
int main()
{
? ? int age; ? ? ? ? ? ? ? ? ? ? ? ?/*這里定義年齡*/
? ? printf("我今年%d歲!\n", age);
? ? return 0; ? ?
}
這里我給給age賦值,但是輸出的是“我今年0歲!”,這是為什么?求幫忙解答。
#include <stdio.h>
int main()
{
? ? int age; ? ? ? ? ? ? ? ? ? ? ? ?/*這里定義年齡*/
? ? printf("我今年%d歲!\n", age);
? ? return 0; ? ?
}
這里我給給age賦值,但是輸出的是“我今年0歲!”,這是為什么?求幫忙解答。
2015-01-08
舉報(bào)
2015-11-04
沒有給age賦值啊
scanf("%d",&age);
2015-02-22
路過,學(xué)習(xí)!
2015-01-23
因?yàn)槿绻唤o變量賦值,那么變量默認(rèn)初始化賦值為0
2015-01-08
如樓上所說,你定義了一個(gè)int變量age,但沒有初始化。
但是這種定義在函數(shù)中的local變量(或稱自動(dòng)變量auto),如果在定義時(shí)未初始化,那它的值是不確定的,可能是任意值。編譯器通常會(huì)給出警告,類似于'age' is uninitialized
如果age是定義在函數(shù)之外的,稱為global全局變量。未初始化的情況下,其初值為0。
2015-01-08
我在你代碼中看到的,你只是定義了int類型的age變量,但是并沒有給age賦值。而在C語言中,如果只是定義了變量而不對(duì)變量進(jìn)行賦值的話,默認(rèn)會(huì)是0