新手求幫忙解答一下
#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
舉報
2015-11-04
沒有給age賦值啊
scanf("%d",&age);
2015-02-22
路過,學習!
2015-01-23
因為如果不給變量賦值,那么變量默認初始化賦值為0
2015-01-08
如樓上所說,你定義了一個int變量age,但沒有初始化。
但是這種定義在函數中的local變量(或稱自動變量auto),如果在定義時未初始化,那它的值是不確定的,可能是任意值。編譯器通常會給出警告,類似于'age' is uninitialized
如果age是定義在函數之外的,稱為global全局變量。未初始化的情況下,其初值為0。
2015-01-08
我在你代碼中看到的,你只是定義了int類型的age變量,但是并沒有給age賦值。而在C語言中,如果只是定義了變量而不對變量進行賦值的話,默認會是0