這個哪里有問題?

uj5u.com熱心網友回復:
微軟的編譯器現在那么霸道了?竟然是錯誤而不是警告?代碼本身沒問題,編譯器讓它有問題
看錯誤提示是,scanf被認為是不安全的(有記憶體越界的可能),所以編譯器推薦你用scanf_s
其實用scanf_s反而還不利于移植,所以可以define一下_CRT_SECURE_NO_WARNNINGS 宏來忽略該錯誤提示
uj5u.com熱心網友回復:
把scanf改成scanf_s吧,其他不變;建議樓主從網上搜一下scanf_s的用法,尤其是對%s, %c等需要增加引數~uj5u.com熱心網友回復:
這個代碼加在哪里?我打了scanf_s除錯時就成了空白
uj5u.com熱心網友回復:
行,我找找謝謝了
uj5u.com熱心網友回復:
錯誤提示顯示 scanf函式是不安全的 樓主可以試試下面這段代碼 應該可以解決你的問題#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int max(int a, int b)
{
if (a > b) return a;
else return b;
}
int main()
{
int x, y,z;
printf("請輸入兩個整數:");
scanf("%d %d", &x, &y);
z = max(x, y);
printf("max=%d\n", z);
return 0;
}
代碼僅供參考
uj5u.com熱心網友回復:
謝謝了,這個我在書上沒第一行就成功了,為什么實際操作就有了問題,這是編譯器的問題?
uj5u.com熱心網友回復:
一般不同編譯器99%的語法都是按照標準來的,當然不同編譯器之間 也會有略微的不同。就像這個scanf函式,可能在別的編譯器沒有錯誤,但是到了微軟的編譯器里面,必須得用微軟提供的“安全”的scanf_s函式才行。不過一般沒有什么太大的錯誤 遇到了看一下錯誤提示小改一下就行uj5u.com熱心網友回復:
謝謝了,我試試轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/195508.html
標籤:C語言
上一篇:嗯 求解題 在線等
下一篇:求助
