1、這是對(duì)程序產(chǎn)生BUG,出現(xiàn)不可靠性的一個(gè)描述,有些函數(shù)在某些意外情況會(huì)導(dǎo)致程序陷入不可控狀態(tài),僅僅是PC上運(yùn)行最多也就是退出而已,但是如果是運(yùn)行在飛機(jī)等系統(tǒng)里的話,就會(huì)有大麻煩,說危險(xiǎn)也不為過。
站在用戶的角度思考問題,與客戶深入溝通,找到五原網(wǎng)站設(shè)計(jì)與五原網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都做網(wǎng)站、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、申請(qǐng)域名、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋五原地區(qū)。
2、是的,如果這是某書上的做法,那么,我只能說它為你們提供了一個(gè)錯(cuò)誤的榜樣。這樣使用gets()已經(jīng)發(fā)生了溢出!這是gets()不檢查數(shù)據(jù)邊界的bug造成的。
3、編譯器是不知道你要傳遞的是一個(gè)數(shù)組或是單一一個(gè)整型的地址的,這是因?yàn)镃中數(shù)組的內(nèi)存模型是連續(xù)存儲(chǔ)(它并不知道傳遞的(首)地址之后的空間可否訪問)。
4、在C語言中,如果把數(shù)組作為一個(gè)函數(shù)的參數(shù)的話,在對(duì)函數(shù)進(jìn)行傳值的時(shí)候只是把數(shù)組的首地址傳過去,也就是指針傳過去,所以再用sizeof(array)/sizeof(int)求數(shù)組的大小只能得到1。
5、C語言如果給函數(shù)傳遞二維數(shù)組作為參數(shù) 先看一個(gè)傳遞二維數(shù)組的例子:編譯:程序看著沒有任何問題,但是編譯器通不過,報(bào)錯(cuò)在處理二維數(shù)組參數(shù)a的時(shí)候,類型不兼容。
6、C語言中,數(shù)組名作為函數(shù)參數(shù),屬于數(shù)組參數(shù)傳遞。在VB0中,允許使用數(shù)組作為實(shí)參傳遞到子過程的形參中,數(shù)組傳遞必須采用地址傳遞的方式來傳遞參數(shù)。
1、因?yàn)槟x的x為字符型數(shù)據(jù),那么它對(duì)應(yīng)的輸入輸出格式符為%c,但是您在輸入語句中寫的是%s,是字符串格式,不符合字符型單個(gè)變量的輸入輸出。
2、scanf_s(%d%s%f%f%f, &pStu[i].num,pStu[i].name,... // %s對(duì)應(yīng)的是數(shù)組pStu[i].name,不需要&。
3、沒有代碼,不太好判斷。但是榮異???,應(yīng)該是溢出問題。我懷疑是你打開文件的時(shí)候,沒有判斷fopen函數(shù)的返回值是否為NULL,就往里寫東西。fp = fopen();然后判斷fp是否為NULL。如果不是這個(gè)原因,建議把代碼發(fā)出來。
4、0xC0000005: 一般是只讀內(nèi)存區(qū)域 有寫操作的情況出現(xiàn)的,比如 某個(gè)指針 地址為 NULL 的時(shí)候。我沒有試驗(yàn),猜測(cè)是因?yàn)閣riteData[i] 中i的值已經(jīng)超過了緩沖區(qū)的定義空間。你加入調(diào)試信息看看吧。
另外,“字符串不是總是以\0作為串的結(jié)束符”,答案是肯定的,不然puts()函數(shù)就不能在合適的地方停下來了。這里st[15]被gets()函數(shù)賦值為\0。
因?yàn)橛⑽奈墨I(xiàn)里描述為dangerous,所以也就翻譯為危險(xiǎn)。函數(shù)執(zhí)行需要一個(gè)棧空間,但這個(gè)??臻g容量是有限的,而且棧里存放了函數(shù)返回的地址。
談不上“危險(xiǎn)”,gets() 函數(shù)從標(biāo)準(zhǔn)輸入讀入 一行文本,直到讀到 新行符 或 EOF 字符 之前,不會(huì)停止讀入文本。也就是:gets() 不檢查邊界。
因?yàn)槟x的x為字符型數(shù)據(jù),那么它對(duì)應(yīng)的輸入輸出格式符為%c,但是您在輸入語句中寫的是%s,是字符串格式,不符合字符型單個(gè)變量的輸入輸出。
本文題目:c語言危險(xiǎn)函數(shù) c語言危險(xiǎn)函數(shù)詳解
標(biāo)題路徑:http://jinyejixie.com/article48/dcoijhp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、標(biāo)簽優(yōu)化、微信公眾號(hào)、網(wǎng)站營銷、虛擬主機(jī)、用戶體驗(yàn)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)