• pat等评测系统的各种出错总结(持续更新)


    1.

    A warning:comparison between signed and unsigned integer expressions [-Wsign-compare]:有符号数和无符号数的比较警告

    为什么出错呢  很多时候你必须声明一下 unsigned int

    如果不声明,有时候进行比较,一些现成的api比如stl的一些方法,返回值可能是无符号数什么的。比如size()方法,容积总不可能是负的吧?

    在for循环里 不能用无符号32位整形作为判断条件

    有时候多打一个unsigned或者signed 能省一些不必要的麻烦

     2.

    warning: ignoring return value of ‘int scanf(const char*, ...)’,  

    scanf 函数是有返回值的 返回的是读取的数据个数。很多时候我们都不用cin因为怕卡时间

    但是scanf函数是不安全的,因为你没有使用返回值,所以评测机甚至很丧心病狂地警告你。比如pat的评测系统

    解决方法:

    1)加上void 强制类型转换忽略返回值(好笨)

    2)用一下scanf的返回值,不就不会警告了嘛。

    比如 

    if(scanf("%d",&x) !=EOF  )

    3)在vs上,可以用scanf_s

  • 相关阅读:
    向eureka注册正确的ip地址
    sleuth + zipkin 链路分析
    Yii2的整体结构概览
    Redis实现消息队列
    Redis使用场景梳理
    redis基础知识
    TCP服务
    数据结构-队列
    看见
    线性表的链式存储结构
  • 原文地址:https://www.cnblogs.com/ranzhong/p/14220890.html
Copyright © 2020-2023  润新知