scanf使用時要注意的2點

2021-09-10 14:44:09 字數 875 閱讀 1450

scanf用來在命令輸入資料。資料可以是字元,整型,字串等等。但是,1)假如在乙個程式裡多次使用scanf,那麼每一次使用之後,要緊跟使用getchar()函式,否則後面的scanf會不正常;2)使用scanf時,要註明其輸入的資料型別,否則資料也不能被程式正確解析。下面是乙個正常的程式:

//#define _crt_secure_no_warnings

#include "stdafx.h"

#include #include //#include template t sum(t x, t y)

int main()

, t2[1024] = ;

printf("input type: ");

scanf("%c", &c);

getchar();

printf("input 1st num: ");

scanf("%20s", t1);

getchar();

printf("input 2nd num: ");

scanf("%20s", t2);

getchar();

if ('i' == c)

else if('f' == c)

else

scanf(&c);

getchar();

return 0;}

結果:

現在把第乙個scanf裡面的"%c"去掉,效果:

可見,儘管輸入了i字元,但是程式並不能正確解析。

Solr sort排序使用時需要注意的點

我們使用solr查詢資料時,有時候難免需要獲得經過排序之後的資料。在頁面上 使用solr查詢的時候,如下圖 我們只要直接再上圖的sort框中,輸入 要排序的字段 排序方式 即desc asc 然後查詢就可以得到排序後的結果。但是這畢竟是solr自動做的排序,如果我們想要在 層次上面使用solr排序的...

QSplitter 控制項使用時要注意的問題

當使用qsplitter時,如果是多個qsplitter巢狀使用 如下圖 就很容易出現錯誤。通常是 記憶體不能為read 如下圖 如下 錯誤的用法 出現錯誤的原因為,如果先建立的是父qsplitter,然後建立的子qsplitter,則沒有錯誤。因為當關閉窗體是,呼叫析構函式的順是 子,父。但是如果...

fixture使用時需要注意的問題

今天單測不太順利,主要是fixture使用不熟悉,記錄兩個問題 bug 1 經過定位發現是fixture資料始終不能灌入導致的,檔案如下 machine1 id 1 machine1 id 2 期望有兩條資料,實際只有一條,原因是在rspec灌資料時裝載yml,而這裡的資料是個hash,結果key相...