我遇到了一个问题,printf里面有很多参数,打印到2040个记录后出错了,给core掉了
最后通过二分法,一点一点的打印,发现是有一个int的变量我用%s输出了,原因找到了,是这个出错了。
可是为什么是这样呢,前面2040条记录怎么会没事呢,后来发现,因为这2040条的记录都是0
这时候打印出来的是null。而后面的数据不是0,%s讲后面的数据解释为地址,这样就会引用非法地址,所以就core掉le
总之:printf如果core了,肯定是你的参数有问题,可能就是类型有问题
阅读(1785) | 评论(0) | 转发(0) |