标签:方法 一个 类型转换 size 解决 读取 pre scanf return
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
标签:方法 一个 类型转换 size 解决 读取 pre scanf return
原文地址:https://www.cnblogs.com/ranzhong/p/14220890.html