小型随笔
wrz918
这个作者很懒,什么都没留下…
展开
-
TCPL这本书跨度蛮大的
粗粗翻了一下,感觉后面还是很难的。第一章的习题就很有难度了。看来要下苦功阅读这本书了。原创 2012-01-20 08:15:05 · 331 阅读 · 0 评论 -
如果printf中的转换说明数大于后面的参数的数量
写上篇文章的时候,里面有一段源代码。我在IDE里面写的时候,写了一句: printf("%d %d %d %d\n",num1,num2,num3); 想必各位马上就能发现,少了一个参数。 运行结果是:1 3 3 824 为什么呢?因为我少了一个参数,系统就用824代替了。 看来以后要小心,如果发现printf输出了一个看似随机数的东西而在监视中值是正原创 2012-01-20 10:52:40 · 348 阅读 · 0 评论 -
说说我的学习计划
本人虽然可以说会一点C语言,但是看了一下TCPL,才明白自己会的只是一些皮毛。虽然程序能遍,但是比起TCPL中的程序,发现自己写的实在是不行。比如说我记得TCPL中有一句:for (fahr = LOWER; fahr 过去我一般会写int temp = 1;for (temp = LOWER;temp<= UPPER;temp++){ fahr = temp *原创 2012-01-06 09:53:55 · 276 阅读 · 0 评论 -
为什么能用位运算来交换数据
我们知道,用位运算能交换整型数据。这是实现代码。(注:下面的^都代表是异或而非乘方)int i,j;cin >> i >> j;i = i ^ j;j = j ^ i;i = i ^ j;我们首先要知道三件事:1 . a^b=b^a证明过程很简单。因为0^0=0^0 0^1=1^0 1^0=0^1 1^1=1^1,又因为无论是a^b还是b^a,都是按位异或的,所以a原创 2012-03-18 18:27:17 · 441 阅读 · 0 评论 -
刷题IDE用什么才好
在这里我还是推荐Visual Studio。首先,XCODE 有的时候漏一个头文件也不会出现编译错误(我就吃亏过)。还有,DEV-CPP的调试太垃圾了。很难用。倒是Visual Studio的调试比较方便。原创 2012-04-29 17:34:16 · 1982 阅读 · 1 评论 -
"aa\b"不等于“a"
有的时候,输出图省事,我们可能会用“\b"来删除行尾的空格。实际上,是不可以的,比如说我写了一个测试程序:#include #include int main(int argc, const char * argv[]){ char * a = "aaa\b"; char * b = "aa"; printf("%s\n%s\n",a,b); if (原创 2012-05-30 16:57:42 · 777 阅读 · 0 评论 -
usaco中输出原来要换行
我在这里写一下,不仅提醒自己,而且提醒别人。我一次刷题时,没有ac,但是和标准答案对起来,一模一样。我猜测是忘记换行了。改了一下,在输出的最后换了一个行,就ok了(别的没有改)因此要小心了。原创 2012-05-30 16:50:15 · 249 阅读 · 0 评论 -
数组反转后续:一定什么时候都要反转吗?
一定什么时候都要反转吗?答案是不用的。我在此出一道题目:输入一个数组,把数组中的元素倒序输出。当然,你可一选择思路1:把数组反转,再输出。但是,反转实际上是完全不必要的。只要按照反序输出即可。在大数据量的情况下,反转数组的时间不是一个小数目。有可能因此就TLE。原创 2012-06-30 16:39:04 · 343 阅读 · 0 评论