Visual Stdio 里面怎么不能识别 scanf 函数

严重性 代码 说明 项目 文件

错误 C4996 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. ConsoleApplication1 f:\c\hcf lcd\最大公约数和最小公倍数\consoleapplication1\源.cpp 39






源代码如下


#include <stdio.h>


int hcf(int a, int b)

{

int r;

if (a<b)

{

int t;

t = a; b = a; b = t;

}

//    r=a%b;

//    if(r==0)

//        return b;

//    else

//    {

//        b=r;a=b;

//        return hcf(a,b);

//    }

while ((r = a%b) != 0)

{

b = r; a = b;

}

return b;

}


/*设两个数是a,b最大公约数是p,最小公倍数是q

那么有这样的关系:ab=pq*/

int lcd(int a, int b, int p)

{

return((a*b / p));

}


int main()

{

int m, n;

printf("此程序的功能:\n");

printf("求所输入两个整数的最大公约数和最小公倍数\n");

printf("请输入:\na=");

scanf("%d", &m);

printf("\nb=");

scanf("%d", &n);

printf("最大公约数为%d\n", hcf(m, n));

printf("最小公倍数为%d\n", lcd(m, n, hcf(m, n)));

}


我的疯癫
浏览 2785回答 1
1回答

onemoo

它提示说 scanf函数不安全(意思是容易被错误地使用而引起错误),建议改用scanf_s。也许是因为你在C++代码中使用老式的C函数库,才引起VS发出这样的警告并阻止编译。你试试用C++标准库中的版本 :include <cstdio>std::scanf()你也可以在设置中不让VS作这个检查。
打开App,查看更多内容
随时随地看视频慕课网APP