色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用printf函數(shù)的安全隱患

我快閉嘴 ? 來源:C語言學(xué)習(xí)聯(lián)盟 ? 作者:C語言學(xué)習(xí)聯(lián)盟 ? 2022-10-09 09:49 ? 次閱讀

程序員都知道,也都會(huì)使用printf函數(shù),但你知道它也有“安全隱患”嗎?

下面就來舉例我說說:

1問題描述

打印輸出的數(shù)據(jù)并不是理論值,如下圖(右邊):

2acc8ea2-3b2b-11ed-9e49-dac502259ad0.png

2進(jìn)一步描述問題

請細(xì)致注意看下面代碼,有如以下奇怪的現(xiàn)象:

int a=5;floatx=a;     //這里轉(zhuǎn)換是沒有問題的。%f打印x是 5.000000
printf("%d
",a);printf("%f
",a);  //輸出為什么是0.000000?-----問題1printf("%f
",x);printf("%d
",x);  //輸出為什么是0?-----問題2printf("%f,%f
",a,x);  //輸出都是0.000000  為什么?   ----問題3printf("%f,%f
",x,a);  //調(diào)換一下a,x的順序,正常了,為什么?----問題4printf("%d,%f
",a,x);
getchar();return0;

這里有四個(gè)問題,下面會(huì)進(jìn)行解答。

3printf()函數(shù)的原理解釋

明確這些問題首先須要明確printf()函數(shù)的工作原理

printf()維持了一個(gè)需要打印的變量棧,默認(rèn)情況下,參數(shù)進(jìn)棧的順序是由右向左的。因此,參數(shù)進(jìn)棧以后的內(nèi)存模型例如以下圖所看到的:

2af733dc-3b2b-11ed-9e49-dac502259ad0.png

打印的時(shí)候,printf依照字符轉(zhuǎn)換說明符規(guī)定的格式從低地址開始提取數(shù)據(jù)。直到參數(shù)打印完。

比方遇到 %f 說明符就提取8個(gè)字節(jié)的數(shù)據(jù),遇到 %d 就提取4個(gè)字節(jié)。printf()事實(shí)上不知道參數(shù)的個(gè)數(shù),它僅僅會(huì)依據(jù)format中的打印格式的數(shù)目依次打印堆棧中參數(shù)format后面地址的內(nèi)容。

這樣一來,printf()事實(shí)上存在安全隱患:它會(huì)強(qiáng)行讀取內(nèi)存的數(shù)據(jù)當(dāng)作正常數(shù)據(jù)輸出,沒有邊界檢測(非常有可能產(chǎn)生堆溢出)。

比如這種代碼:

char string[]="Hello World!";printf("String: %s  ,強(qiáng)行再讀一次: %#p
", string);printf("String: %s  ,強(qiáng)行再讀一次: %#s
", string);
輸出如下:

String:Hello World!  , 強(qiáng)行再讀一次: 0X001C1073 
String: Hello World!  ,強(qiáng)行再讀一次: 閮

4問題解釋

問題1:printf("%f ",a) 輸出為什么是0.000000?

答:%f 提取8字節(jié)。a僅僅有4字節(jié),提取出來的數(shù)占了float表示法的指數(shù)部分。尾數(shù)部分為0。所以終于是0

問題2:printf("%d ",x) 輸出為什么是0?

答:%d 提取4字節(jié),x有8字節(jié)。提取出來的數(shù)實(shí)際上是float表示法的指數(shù)部分(恰好是0),所以終于是0

問題3:printf("%f,%f ",a,x); 輸出都是0.000000 為什么?

答:參照問題1的解釋。提取了八字節(jié)后,后面的已經(jīng)亂了

問題4:printf("%f,%f ",x,a);調(diào)換一下a,x的順序,正常了,為什么?

答:這是正常的情況而已。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4327

    瀏覽量

    62573
  • Printf
    +關(guān)注

    關(guān)注

    0

    文章

    83

    瀏覽量

    13650

原文標(biāo)題:C語言printf()函數(shù)具體解釋和安全隱患

文章出處:【微信號:C語言學(xué)習(xí)聯(lián)盟,微信公眾號:C語言學(xué)習(xí)聯(lián)盟】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    盤點(diǎn)近來鋰電池的安全隱患事故

    鋰電池的安全隱患一直都有存在,從手機(jī)、筆記本到電動(dòng)汽車,均有鋰電池發(fā)熱甚至起火的事件發(fā)生,并且這一現(xiàn)象不再只發(fā)生在山寨電子產(chǎn)品中,許多鋰電池的安全隱患事故,已經(jīng)牽扯到了諸如尼康、松下、三星、小米、聯(lián)想、特斯拉等國內(nèi)外的品牌公司。
    發(fā)表于 06-04 09:44 ?8809次閱讀

    網(wǎng)絡(luò)安全隱患的分析

    、管理網(wǎng)絡(luò)安全等方面。  物理網(wǎng)絡(luò)安全風(fēng)險(xiǎn)物理網(wǎng)絡(luò)安全的風(fēng)險(xiǎn)是多種多樣的。網(wǎng)絡(luò)的物理安全主要是指地震、水災(zāi)、火災(zāi)等環(huán)境事故,電源故障、人為操作失誤或錯(cuò)誤,設(shè)備被盜、被毀,電磁干擾、線路
    發(fā)表于 10-25 10:21

    [分享] Ghost真的是存在很大的安全隱患

    ://www.pgos.cc 如果你說ghost win7這種操作系統(tǒng)存在很大的安全隱患,這就是錯(cuò)誤的了,因?yàn)樵趯?shí)際之上這種操作系統(tǒng)是經(jīng)過了我們反復(fù)的測試了,需要知道的一點(diǎn)就是ghost操作系統(tǒng)開發(fā)社區(qū)可能是會(huì)在我們的系統(tǒng)之中加入一些自己喜歡的程序或者是功能,但是這些都是無害的,更何況我們也是可以自己實(shí)現(xiàn)卸載。
    發(fā)表于 01-16 14:28

    面粉灑到插排里 會(huì)不會(huì)有安全隱患

    不小心把面粉撒到插排里了 已經(jīng)清理完了 不知道還會(huì)不會(huì)有安全隱患
    發(fā)表于 07-10 13:36

    電氣安全隱患的監(jiān)控管理

    智慧安全用電監(jiān)控系統(tǒng)電壓、電流數(shù)據(jù)變化在線監(jiān)測單回路剩余電流、多回路剩余電流(漏電)在線監(jiān)測 導(dǎo)線銅排溫度在線監(jiān)測 故障電弧在線探測 消防設(shè)備電源狀態(tài)在線監(jiān)測。智慧式用電安全隱患監(jiān)管服務(wù)系統(tǒng)由用電
    發(fā)表于 08-22 10:49

    VR一體機(jī)家庭消防安全隱患排查內(nèi)容

    體驗(yàn)過程中,用戶置身于“真實(shí)”的生活場景(如家庭、宿舍、辦公室等),通過系統(tǒng)提示學(xué)習(xí)消防隱患的科普知識(shí),讓參與者進(jìn)一步增強(qiáng)在日常生活中自覺地做好自家消防安全隱患排查工作,從而起到積極正面的教學(xué)目的
    發(fā)表于 09-10 17:31

    請問家里電路可以這樣設(shè)計(jì)嗎,有沒什么安全隱患

    那位老師傅可以幫小弟看下,家里電路這樣設(shè)計(jì)可否,有沒什么安全隱患。。主要是家里配電箱已經(jīng)固定,只有18個(gè)槽位、、
    發(fā)表于 04-03 13:37

    安全隱患檢測系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

    隨著網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,網(wǎng)絡(luò)安全已經(jīng)成為人們關(guān)注的焦點(diǎn)。安全隱患檢測技術(shù)可以協(xié)助決策者及早發(fā)現(xiàn)網(wǎng)絡(luò)的脆弱性,防患于未然。文章描述了安全隱患檢測系統(tǒng)的原理和體
    發(fā)表于 06-15 11:01 ?13次下載

    RFID技術(shù)詳解與基于RFID的物聯(lián)網(wǎng)安全隱患的研究

    安全隱患的研究已經(jīng)成為一個(gè)迫在眉睫和廣為關(guān)注的問題。在此對RFID技術(shù)、RFID系統(tǒng)組戍、工作原理以及對基于RFID技術(shù)的物聯(lián)網(wǎng)構(gòu)成要素進(jìn)行了分析;同時(shí)對造成物聯(lián)網(wǎng)潛在與安全隱患產(chǎn)生的主要原因、主要攻擊方式、安全策略進(jìn)行了研究。
    發(fā)表于 10-25 11:08 ?10次下載

    指紋鎖的安全隱患_指紋鎖的優(yōu)缺點(diǎn)

    指紋鎖安全隱患有哪些?指紋門鎖安全隱患盤點(diǎn)。想要家里安全過得舒心,“門鎖”的重要性是擺在第一位。然而,現(xiàn)實(shí)生活中人們常常會(huì)面臨忘帶鑰匙的尷尬,因此鎖具廠商會(huì)尋求更便捷的開門方式,于是智能鎖在家庭市場熱了起來。指紋鎖是目前非常常見
    發(fā)表于 06-03 11:33 ?2.2w次閱讀

    關(guān)于那些智能電動(dòng)汽車的安全隱患

    文章較長,分為三個(gè)大部分,按照安全隱患的感知程度分類。首先是駕駛員易于感知到的安全隱患,其次是駕駛員不易于感知的,最后再說對駕駛員而言透明的安全隱患。 駕駛員易于感知的安全隱患 1、“
    的頭像 發(fā)表于 01-14 10:13 ?5303次閱讀
    關(guān)于那些智能電動(dòng)汽車的<b class='flag-5'>安全隱患</b>

    機(jī)房的安全隱患該如何消除

    機(jī)房的安全隱患--供電問題 雖然機(jī)房的電源問題眾所周知,但在實(shí)際工作中沒有得到足夠的重視,這種情況經(jīng)常發(fā)生。如果ups或ups電池在日常使用中損壞,如果發(fā)生電源故障,所有設(shè)備將立即停止,網(wǎng)絡(luò)設(shè)備
    發(fā)表于 01-19 09:57 ?719次閱讀

    如何預(yù)防電力故障及安全隱患

    電力故障和安全隱患一直是人們關(guān)注的熱點(diǎn)問題。在現(xiàn)代社會(huì)中,電力已經(jīng)成為人們生活和工作中不可或缺的一部分。然而,隨著電力設(shè)備的增加和用電負(fù)荷的增大,電力故障和安全隱患也隨之增加。那么如何預(yù)防電力故障及安全隱患呢?高壓電纜故障及
    的頭像 發(fā)表于 08-29 13:51 ?826次閱讀

    無損檢測有哪些安全隱患

    無損檢測技術(shù)在航空、航天、核電、石油、化工、機(jī)械制造等領(lǐng)域具有重要應(yīng)用。然而,由于操作不當(dāng)、設(shè)備故障、環(huán)境因素等原因,無損檢測過程中可能存在安全隱患。本文將詳細(xì)分析無損檢測中的安全隱患,并提出相應(yīng)
    的頭像 發(fā)表于 05-27 14:58 ?1616次閱讀

    直流充電樁使用中有哪些電氣安全隱患及解決方案

    充電樁。然而,在充電樁的日常使用中,一些潛在的安全隱患也逐漸浮出水面,這些隱患有可能對人們的生命與財(cái)產(chǎn)安全構(gòu)成嚴(yán)重威脅。因此,深刻認(rèn)識(shí)并了解這些常見的充電樁安全隱患,以及如何通過嚴(yán)格的
    的頭像 發(fā)表于 10-30 15:22 ?237次閱讀
    直流充電樁使用中有哪些電氣<b class='flag-5'>安全隱患</b>及解決方案
    主站蜘蛛池模板: 高干紧射H后入| gogogo免费视频观看| 帝王受PLAY龙椅高肉NP| 久久亚洲精品专区蓝色区| 午夜影院和视费x看| xiao776唯美清纯| 久久这里只有精品2| 亚洲精品拍拍央视网出文| 东北女人奶大毛多水多| 免费无码又爽又黄又刺激网站| 亚洲成A人片在线观看中文L| 成人影院久久久久久影院| 久久全国免费久久青青小草| 香港日本三级亚洲三级| 囯产精品久久久久久久久蜜桃| 欧美成ee人免费视频| 34g污奶绵uk甩奶| 久久成人免费大片| 亚洲乱码日产精品BD在线下载| 国产精品久久久久久久AV下载| 全黄h全肉短篇禁乱np| jlzzzjizzzjlzzz亚洲| 女性爽爽影院免费观看| 99久久人妻无码精品系列性欧美| 久久在精品线影院| 中文字幕专区高清在线观看| 久久ZYZ资源站无码中文动漫| 一本久道久久综合狠狠躁AV| 精品久久久久中文字幕| 亚洲一区自拍高清亚洲精品| 狠狠爱亚洲五月婷婷av| 伊久久| 久青草影院| av av在线| 十分钟免费视频大全在线| 丰满的美女射精动态图| 先锋影音av最新资源网| 果冻传媒免费观看| 在线 中文字幕| 欧美精品AV无码一区二区| 成a人片亚洲日本久久|