二者之前區別在哪,值都是為0 為什么輸出的不一樣!

uj5u.com熱心網友回復:
第二個沒有對i初始化啊uj5u.com熱心網友回復:
if (i==0)與if(i%3 == 0)區別前者i不是0才成立,后者是3的倍數就成立包括負數
uj5u.com熱心網友回復:
對于第二個圖,你加一句printf("%d\n",i); 就能看到, i是多少了。 區域變數不會默認初始化為0,必須自己指定。全域變數會默認初始化為0uj5u.com熱心網友回復:
感謝uj5u.com熱心網友回復:
第一個圖你對i初始化了,第二個圖的i沒有初始化,如果在vc++6.0里面系統會自動給未賦值的int型變數賦值為-858993460.在別的編譯器里可能是別的值,基本都是固定的。uj5u.com熱心網友回復:
%是取模, i%3 是 i 除以 3 的余數uj5u.com熱心網友回復:
i沒有初始化呢,區域變數沒有初始化不要以為就是0了.而是一個隨機值uj5u.com熱心網友回復:
第一個圖你將i初始化為6 ,int i=6其實是全域作用域,所以在for i%3取余數,其實就是6%3初始化為0;第二章圖創建i沒有初始化,是隨機的.有可能是沒資料也有可能有資料的.在c++中if (int i=0;i==0) 允許在if中創建區域變數轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/143549.html
標籤:C語言
上一篇:求解一道C語言題 求大神幫一下
下一篇:C語言大一小白求助!!!
