国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

warning: implicit declaration of function ‘gets‘ is invalid in C99 [-Wimplicit-function-declaration]

這篇具有很好參考價值的文章主要介紹了warning: implicit declaration of function ‘gets‘ is invalid in C99 [-Wimplicit-function-declaration]。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

C項目中用gets();會產(chǎn)生告警的原因和解決辦法如下:

一、告警類型:warning: implicit declaration of function 'gets' is invalid in C99 [-Wimplicit-function-declaration]

warning: the `gets' function is dangerous and should not be used.

函數(shù)“gets”的隱式聲明在C99中無效

#include <stdio.h>
#include <string.h>
int main(void)
{
    char str1[15];//定義字符串
    printf("input string:\n");//日志打印
    /*在C項目中利用gets();輸入字符串會產(chǎn)生告警*/
    gets(str1);//輸入字符串
    puts(str1);//輸出字符串
    return 0;
}

warning: implicit declaration of function ‘gets‘ is invalid in C99 [-Wimplicit-function-declaration]

二、告警原因:

參考文獻:產(chǎn)生告警的原因參考連接

1.因為get不是c99標(biāo)準(zhǔn)的一部分,不應(yīng)該使用。因此,它被排除在標(biāo)準(zhǔn)庫中。

2.獲取標(biāo)準(zhǔn)函數(shù)是C99標(biāo)準(zhǔn)中完全有效的一部分。它在 C99 中已經(jīng)過時(已棄用),并在 C11 中刪除。

3.函數(shù)gets();?已被棄用。不鼓勵您使用它,因為它被認(rèn)為是不安全的。什么意思?在你的程序中,你只傳遞一個接收器數(shù)組的名稱,并且不可能知道輸入會有多長。如果您的用戶記住他不應(yīng)該寫超過 20 個字符的名稱,那沒關(guān)系。但是,如果他超過該限制,gets():它將繼續(xù)將數(shù)組邊界寫入它不擁有的內(nèi)存中(會產(chǎn)生段錯誤Segmentation fault).

三、解決方案:

參考文獻:解決gets不能用的替代方案

1.利用fgets();取代gets();

fgets()函數(shù)的基本用法為:
fgets(char *s, int size, FILE *stream);
/*第一個參數(shù)是:字符類型的數(shù)組,第二個參數(shù)是:標(biāo)明這個數(shù)組的大小,*/
/*第三個參數(shù)是:如果總是通過鍵盤輸入的話,可以固定寫為stdin*/

2.解決代碼如下:

/*eg7.14,gets();已被棄用,代替的是采用fgets();p114*/
/********************************************************
fgets()函數(shù)的基本用法為:
fgets(char *s, int size, FILE *stream);
第一個參數(shù)是:字符類型的數(shù)組,第二個參數(shù)是:標(biāo)明這個數(shù)組的大小,
第三個參數(shù)是:如果總是通過鍵盤輸入的話,可以固定寫為stdin
參考文獻:
告警原因:https://stackoverflow.com/questions/37841617/implicit-declaration-of-function-gets-is-invalid-in-c99?noredirect=1
解決辦法:https://developer.aliyun.com/article/607824
*********************************************************/
#include <string.h>
int main(void)
{
	char str1[15];
	printf("input string:\n");
	//gets(str1);
	/*函數(shù)gets()已被棄用。不鼓勵您使用它,因為它被認(rèn)為是不安全的。
	什么意思?在你的程序中,你只傳遞一個接收器數(shù)組的名稱,并且不可能知道輸入會有多長。
	如果您的用戶記住他不應(yīng)該寫超過 20 個字符的名稱,那沒關(guān)系。
	但是,如果他超過該限制,gets():它將繼續(xù)將數(shù)組邊界寫入它不擁有的內(nèi)存。*/
	fgets(str1, sizeof(str1), stdin); //stdin 意思是鍵盤輸入
	puts(str1);
}

四、C語言譚浩強代碼示例(包含參考書、在線編譯工具、代碼注釋等)

譚浩強C語言程序設(shè)計(1-3章代碼學(xué)習(xí))文章來源地址http://www.zghlxwxcb.cn/news/detail-423125.html

到了這里,關(guān)于warning: implicit declaration of function ‘gets‘ is invalid in C99 [-Wimplicit-function-declaration]的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【已解決】warning: push.default is unset; its implicit value is changing in Git 2.0 from...

    【已解決】warning: push.default is unset; its implicit value is changing in Git 2.0 from...

    在 Linux 系統(tǒng)上,如果安裝了新版 git(Git 2.0),在執(zhí)行 git push 命令時,會遇到如下警告: 翻譯后: 什么意思呢?簡單來說: git push 其實有多種模式,不同的模式對應(yīng)著不同的操作:今天我們簡單看看上面提到的 matching(匹配模式) 和 simple(簡單模式) : matching :這是

    2024年01月18日
    瀏覽(29)
  • 1418 - This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and bin

    在MySQL中創(chuàng)建函數(shù)報錯 1418 - This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you might want to use the less safe log_bin_trust_function_creators variable)` 原因是開啟了log-bin日志,創(chuàng)建函數(shù)時,函數(shù)中沒有包含DETERMINISTIC, NOSQL和 READS SQL DATA聲明,即沒有

    2024年02月03日
    瀏覽(23)
  • MySQL 創(chuàng)建函數(shù)報錯 This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration

    MySQL 創(chuàng)建函數(shù)報錯 This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration

    背景描述 在MySQL中創(chuàng)建函數(shù)時,報錯如下: 錯誤原因 這是我們開啟了bin-log, 我們就必須指定我們的函數(shù)是否是 1、DETERMINISTIC 不確定的 2、NO SQL 沒有SQl語句,當(dāng)然也不會修改數(shù)據(jù) 3、READS SQL DATA 只是讀取數(shù)據(jù),當(dāng)然也不會修改數(shù)據(jù) 4、MODIFIES SQL DATA 要修改數(shù)據(jù) 5、CONTAINS SQL 包含

    2024年02月03日
    瀏覽(28)
  • vue3傳屬性時報錯 [Vue warn]: Component is missing template or render function.

    vue3傳屬性時報錯 [Vue warn]: Component is missing template or render function.

    上網(wǎng)查這個問題,解決方案很多,沒有一款適合我。。。先說我的解決辦法,如果解決不了再往下看,我的原因是 用的子組件的ref和子組件的標(biāo)簽名一樣了: 給 ref 改個名字就好了 。。。 使用技術(shù): vue3+ts 用的props傳值,本來都好好的,后來發(fā)現(xiàn)給一個子組件傳值發(fā)生變化

    2024年02月14日
    瀏覽(16)
  • 成功解決 nginx: [emerg] invalid number of arguments in “root“ directive in 問題

    成功解決 nginx: [emerg] invalid number of arguments in “root“ directive in 問題

    目錄 問題原因 解決方法 看這里 如下圖,啟動nginx時報錯??, 很明顯是E盤下的Program Files文件夾中間 存在空格 ,導(dǎo)致識別錯誤。? 問題原因不唯一,可從下中檢查下自己的問題 句尾忘記加 分號 路徑中文件名使用了 中文 路徑中有 空格 斜杠錯誤,要用? /? 而不是 模板 路

    2024年02月12日
    瀏覽(22)
  • 微信小程序:fail api scope is not declared in the privacy agreement(授權(quán)點擊沒反應(yīng))

    微信小程序:fail api scope is not declared in the privacy agreement(授權(quán)點擊沒反應(yīng))

    前言:這兩天微信小程序項目出現(xiàn)了各種api不能正常調(diào)用,某種功能點擊沒有反應(yīng), 如:本來好好的,但選擇圖片api無法使用了 如:本來好好的,但點擊授權(quán)沒有反應(yīng) 如:本來好好的,但點擊登錄,授權(quán)窗口也不彈出來 解決:出現(xiàn)這些問題是因為 隱私政策 需要更新?。。?/p>

    2024年02月05日
    瀏覽(119)
  • uniapp微信小程序openBluetoothAdapter:fail api scope is not declared in the privacy agreement

    uniapp微信小程序openBluetoothAdapter:fail api scope is not declared in the privacy agreement

    uniapp微信小程序在查找藍牙時報openBluetoothAdapter:fail api scope is not declared in the privacy agreement 昨天還可以正常使用,到了今天在測試連接藍牙時就報這個問題。剛開始以為是自己的代碼哪里出現(xiàn)了問題,因為近期一直在調(diào)試藍牙打印的功能。找了N久都還是一頭霧水,包括對比上

    2024年02月06日
    瀏覽(95)
  • 微信小程序用戶隱私保護指引fail api scope is not declared in the privacy agreement

    微信小程序用戶隱私保護指引fail api scope is not declared in the privacy agreement

    今天突然小程序登錄不了,后臺報錯“The given payload is invalid.”但是小程序這邊流程是正確的,絕對沒錯的,找了半天想起來看看wx.login的報錯,結(jié)果顯示:“fail api scope is not declared in the privacy agreement”,于是就去更新了用戶協(xié)議,但是更新了還不對,才發(fā)現(xiàn)微信 于是就去查

    2024年02月06日
    瀏覽(110)
  • 啟動nginx報錯:invalid number of arguments in “root“ directive in,是文件路徑書寫問題

    啟動nginx報錯:invalid number of arguments in “root“ directive in,是文件路徑書寫問題

    無法啟動nginx,錯誤日志提示如下: 原因: 這個一個比較常見的問題,配置文件里面應(yīng)該有路徑有問題 注意在:這里如果路徑名稱有空格要用引號引起來,否則會被當(dāng)成2個路徑解析。 如上,提示nginx.conf文件的208行, 改成這樣就沒事了:

    2024年02月09日
    瀏覽(26)
  • RuntimeError: shape ‘[-1, 784]‘ is invalid for input of size 68076

    在應(yīng)用torch進行測試時,有可能出現(xiàn)這種錯誤: RuntimeError: shape \\\'[-1, 784]\\\' is invalid for input of size 68076 這個錯誤通常是由于輸入數(shù)據(jù)的大小與模型期望的輸入大小不匹配導(dǎo)致的。具體地說,在這個錯誤信息中, [-1, 784] 表示輸入張量的形狀是一個二維張量,第一個維度大小是 -1,

    2024年02月12日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包