下面的程序在vim上正常,在vc++上有错,为什么啊

C++语言 码拜 8年前 (2017-04-13) 981次浏览
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void fun(int B);
int main(){
srand(time(NULL));
int B=rand()%100+1;
fun(B);
return 0;}
void fun(int B)
{
int a;
printf(“please input your guess:”);
scanf(“%d”,&a);
if( a == B ){
printf(“bingo \n”);
return;}
else {
if (a<B){
printf(“your guess is less than set.\n”);
return fun(B);}
else
printf(“your guess is more than set.\n”);
return fun (B);}
}
解决方案

5

scanf 已经被vc禁用了,你要用scanf_s。这种问题,本人看提示就能解决。

10

原因是scanf这个函数是不安全,可能造成缓冲区溢出,所以VC建议用scanf_s来代替
假如仍想用可以选择以下任何一种方法:
1、新建项目时不要勾选安全开发生命周期检查
2、在项目属性C/C++命令行中加上 /D _CRT_SECURE_NO_WARNINGS

5

引用:
Quote: 引用:

scanf 已经被vc禁用了,你要用scanf_s。这种问题,本人看提示就能解决。

哥,改了之后还是不行啊。小弟是不知道被禁用了。还有其他的不兼容问题吗?

你把报错发上来看看

5

把错误发出来,看看就知道那错了

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明下面的程序在vim上正常,在vc++上有错,为什么啊
喜欢 (0)
[1034331897@qq.com]
分享 (0)