范宏宇 发表于 2017-5-4 16:17:45

新手请指导

WIN10系统,找不到合适的VC++6.0软件使用,于是下载量Visual studio 2015,只是不怎么会使用,百度的使用教程,可以练习简单的C语言了,但是老是出错。求指教
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
void main()
{
        double a, b, c, s, aera;
        scanf("%f,%f,%f", &a, &b, &c);
        s = 1.0 / 2 * (a + b + c);
        aera = sqrt(s*(s - a)*(s - b)*(s - c));
        printf("a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2f\n", a, b, c, s);
        printf("aera=%7.2f\n", aera);
}
这个提示错误信息:翻译过来了是:错误c4996:scanf函数或变量:这可能是不安全的。考虑使用scanf_s相反。禁用贬低,用_crt_secure_no_warnings。详情见联机帮助。

人造人 发表于 2017-5-4 17:17:52

这个应该不是错误,只是警告,截一下图看看

newu 发表于 2017-5-4 17:33:34

本帖最后由 newu 于 2017-5-4 17:34 编辑

在编译器开头加一句宏定义即可#define _CRT_SECURE_NO_WARNINGS
这是VS的安全性增强,写上这句宏定义就不会检查安全选项了。

凡凡殇清 发表于 2017-5-5 00:42:41

double 输入格式是%lf
float    输入格式是%f
应该是这样的

桃花飞舞 发表于 2017-5-5 12:55:15

看的好像没错

w1550441298 发表于 2017-5-6 18:12:11

用scanf_s,VS对VC6.0上面用的很多不安全的函数,很多都进行了进制使用,一般都是在原来函数名的后面加一个_s代表是修改的。

一语终难尽思愁 发表于 2017-5-6 22:54:52

char b;
printf("      请输入用户名:");
scanf_s("%s", b,7);

用scanf_s 地址后面多加一个缓冲区大小
页: [1]
查看完整版本: 新手请指导