
C语言
Rorschach
五道口男子职业技术学院
展开
-
当fscanf碰上nan
这学期当数据结构的助教,使用了一些自动化的方法来改作业。其中一道题需要读入学生的输出(n个浮点数),跟标准答案进行比较,误差在一定范围内都算对。有一个学生直接在代码里输出了n个nan,然后惊奇地发现居然通过了测试。检查我的代码之后发现问题出在这一句:if(fabs(rx[i]-x[i])/fabs(rx[i])>0.1) return 0;else return 1;其中rx原创 2014-12-28 11:14:33 · 968 阅读 · 0 评论 -
关于c++中的char和bool
起因今天刷OJ发现一个有意思的事儿。题目中需要计算一定范围内的质数,我申请了一个数组,所有元素有0、1、-1三种状态。如果数组使用int的话用时240ms,36M内存。如果换成char就变成了140ms,9M内存。这就引出了两个问题:1. 为什么变快了;2. char原来是有符号的?原创 2015-09-21 16:12:49 · 4107 阅读 · 2 评论 -
在c++函数形参里引用临时变量出错,导致"no match for xxx"
帮别人调代码遇到的一个bug。他的代码里首先定义了一个类colum,然后重载了等号“=”操作符,函数定义是void colum::operator=(colum& c2)。接着代码里写了一句a = colum();,希望临时构造一个colum对象并赋值给对象a。如果用g++编译这段代码,会遇到下面的错误信息:/ *your_code* : In function ‘int main()’:/ *y原创 2015-12-20 00:54:00 · 4142 阅读 · 0 评论