zoukankan      html  css  js  c++  java
  • C中scanf问题

    C中scanf问题

    在VS2003中建一个c程序,用scanf接收输入的时候总会出现下面的警告是怎么回事呢?要怎么写才不会出现警告呢?
    e: est1 est1main.c(15) : warning C4996: “scanf”被声明为否决的 d:program filesmicrosoft visual studio 8vcincludestdio.h(295) : 参见“scanf”的声明 消息:“This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.”

    警告是因为scanf”被声明为 "Deprecated", 它是不安全的(有溢出问题).
    到"Project - Settings (Precompiler tab)" 加上_CRT_SECURE_NO_DEPRECATE 符号,就取消了"Deprecated"
    (另一种办法是) 或者不用 scanf函数 , 而改用 scanf_s函数.

    如下面的代码:
    #include "stdafx.h"
    #include <stdio.h>
    #include <stdlib.h>
    
    #include <math.h>
    
    int main(void)
    {
        double a,b,c,disc,x1,x2,p,q;
    
        scanf_s("a=%lf,b=%lf,c=%lf",&a,&b,&c);
    
        disc = b*b - 4*a*c;
    
        p = -b /(2*a);
        q= sqrt(disc)/(2*a);
    
        x1 = p + q;
        x2 = p - q;
    
        printf("
    x1 = %5.2lf,x2 = %5.2lf
    ",x1,x2);
        
        getchar();
    
        return 0;
    }
  • 相关阅读:
    500. 键盘行
    657. 判断路线成圈
    771. 宝石与石头
    461. 汉明距离
    Java 基本数据类型
    Windows下的DOM操作
    jQuery学习笔记
    Java(16-19)
    Java(1-15)
    总结
  • 原文地址:https://www.cnblogs.com/phpxuetang/p/4635473.html
Copyright © 2011-2022 走看看