c語言中使用scanf輸入字元時,在輸入完成後必須按回車,這就帶來了隱患,舉例如下:
char c1,c2;
scanf("%c",&c1);
scanf("%c",&c2);
printf("c1 is %c,c2 is %c",c1,c2);
執行該程式段,輸入乙個字元a
後按回車(或者按空格)
,會給變數c1
賦值a
,但回車字元(或者空格符)
仍然留在緩衝區中,接著執行輸入語句scanf("%c",&c2)
時,回車字元(或者空格符)
被賦值給c2
,所以輸出內容為:
a
c1 is a ,c2 is(注意此處有乙個換行符)
(
或者為:
a b
c1 is a ,c2 is(注意此處有乙個空格)
再舉一例:
集合知識點歸納
集合 定義 長度可變的 儲存物件的容器 特點 長度可變,只能用來儲存引用型變數 list介面 有序的,允許重複的 實現類 arraylist 底層維護陣列,執行緒不安全的,高效的,查詢快,增刪慢 linklist 底層維護鍊錶,能夠模仿佇列結構,增刪快 查詢慢 堆疊特點 先進後出 push 將元素壓...
XSS知識點歸納
xss攻擊指通過html注入篡改網頁,插入惡意的指令碼,當使用者瀏覽網頁的時候,控制瀏覽器。xss攻擊成功後,攻擊者能夠對使用者當前的瀏覽頁面植入惡意指令碼,通過惡意指令碼,控制使用者的瀏覽器,這些完成各種具體功能的惡意指令碼,成為xss payload 實質上就是js指令碼,任何js指令碼能實現的...
flex知識點歸納
flex基本用法是給父容器設定 display flex 參考 那麼它下面的所有子元素,自動成為flex的item項。flex flow是flex direction和flex wrap的簡寫。flex flow row row reverse column column reverse nowar...