#include
intmain
(void);
//儲存輸入資料用的陣列
int i =0;
//記錄輸入的字元個數方便輸出
char z =0;
//解決方法就是加入臨時變數來先儲存再判斷
while(1
)for
(int k =
0;k < i;k++
)printf
("%c"
, c[k]);
//把儲存的資料輸出
printf
("\n");
return0;
}
精簡款
#include
intmain
(void);
while
((c[i++]=
getchar()
)!='\n');
for(
int k =
0;k <= i;k++
)printf
("%c"
, c[k]);
return0;
}
在計算處理資料時,總是忘記給資料賦初值,導致編譯成功,但是計算輸出都是錯誤值。
沒有加static,預設為auto 型,此時,不給初值,變數的初值是隨機的。
如果加了static不給初值,變數的初值是預設的 0。
其實不能說不賦初值就不行,對於區域性變數,不賦初值的話,其實他裡面存的是乙個隨機的值,誰也不知道他是多少,因此如果沒賦初值的情況下就使用它,程式是完全不可控的。
做題是總是用for迴圈,但是有些情況用while和do while顯然更好,後做題再補充吧
寫c++程式時,有時題目要求輸出格式是%5d之類的,但是不想用c語言,後面查詢發現c++相容c的scanf和printf語句。
c語言是c++語言的乙個子集,也就是說,c語言完全可以不加修改直接用於c++的(當然,c++對型別的檢查比c嚴格,你的c格式要符合c++語法才可以的),printf函式在iostream中有定義,所以可以執行。
而scanf及printf在c或c++中,結果一樣的。
在c++程式中需要格式化輸入時,就可以直接用scanf的格式化輸入的
cin/cout/scanf/printf
做題小記3
分析以下 說法正確的是 public static void main string args public static int val catch exception e finally return num a.執行時報錯 b.程式正常執行,輸出值為5 c.程式正常執行,輸出值為10 d.程式...
C 做題總結(1)
1 malloc與free和new與delete的區別 1 malloc和free是庫函式,以位元組為單位申請堆記憶體 2 new和delete是關鍵字,以型別為單位申請堆記憶體 3 malloc和free單純的對記憶體進行申請與釋放 4 對於基本型別new關鍵字會對記憶體進行初始化 5 對於類型別...
c 集合小記
正在揣摩 asp.net入門經典 c 程式設計篇 這書看起來還行,look到集合了!需要摘些 自己沒事看看了!嗨!就是作個筆記!開始。class1 using system using system.collections namespace yjtestcon console.writeline ...