❶ C語言變數必須初始化嗎
C語言變數可以不初始化。直接定義int
a;
printf("%d",&a);這兩句程序是直接定義並且輸出變數的值,這個要看編譯器了,有的編譯會輸出0,這是編譯器幫你初始化了,默認初始化為0。如果有的編譯器不初始化的話會報錯,即使不報錯,那麼printf輸出的數字是隨機的,是這個內存中之前存儲的數據。
❷ c語言問題——未初始化int變數的初值
c語言問題未初始化int變數的初值是設置錯誤造成的,解決方法為:
1、首先我們打開我們的編譯器,在main函數中寫。
❸ C語言未初始化的變數進行計算的問題
對於局部變數沒有初始化時,其值C語言規范並沒有做規定,不過一般有兩種做法,一種是不會去初始化,這時sum值是隨機值,不一定是多少。
另一種就是編譯器會做這樣的初始化,比如gcc一般會默認初始化為0,而VC會默認初始化為0xcccccccc
也就是說,這個程序會跑出什麼結果,取決於編譯器。甚至有些編譯器遇到這種情況,會直接報錯,編譯失敗。
而你現在的結果,明顯是編譯器默認初始化為0的情況。
其實判斷這個,不需要這么麻煩,直接
#include<stdio.h>
intmain(void)
{
intsum;
printf("%d",sum);
return0;
}
就可以知道編譯器是怎麼做的了。