[C語言] 讀入一行再剖析字串

C程式語言

在寫UVa或其他線上題目時,很容易遇到要從stdin剖析

10 20 3 5 6 -3 4
3 22 13 3 42

-1

這類的題目一次要處理以一行為單位,裡面有數字轉存int陣列又不同長度,每一行代表每一圈loop的執行,最後結尾來個-1代表測資輸入完畢的題目

如果直接用迴圈每個每個數字讀又有換行的問題要考慮

有做過這種題目的人應該對這種題目印象深刻吧

常常光在寫輸入的部分就花費了不少行數

以下是我在parse這類輸入的方法,分享給大家參考。

char inputLine[100];
int result[20];
int resultLength = 0;

if(fgets(inputLine, sizeof(inputLine), stdin) != NULL)
{
	char *lineTheRest = inputLine;
	int offset;
	while(sscanf(lineTheRest, " %d%n", &result[resultLength], &offset) == 1)
	{
		resultLength++;
		lineTheRest +=offset;
	}
}

CPU、RAM、Bus之間的互動圖解

計算機概論

大一上過計算機概論的人都知道CPU、RAM跟Bus(匯流排)

其中Bus又分Address Bus(位址匯流排)、Control Bus(控制匯流排)跟Data Bus(資料匯流排)

然後老師會再簡單介紹他們的功用

但往往就僅止於此了,至少我大一時是這樣啦

今天逛Youtube時偶然間看到有CPU如何存取RAM的動畫

瞬間將我沉積在腦海中片段的教科書知識串接在一起了

(p.s. 圖片版權不屬於我,原自於)

hello, world

個人

就在剛剛 2017/08/03 18:41

AndyWu's Notes 啟航了

為的是想紀錄下人生中一路上的點點滴滴

並把過程中遇到的困難及解決方法分享給也遭遇到相同處境的人

希望可以持續這個熱忱讓這個網站永遠經營下去~

Andy Wu