C 做題小記

2021-09-29 21:11:16 字數 1173 閱讀 6658

#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 ...