对于之前的一些题目的总结。
利用def来控制编译是否使用freopen
编译的时候加上-DDEBUG
选项就可以控制freopen()
c
#include <stdio.h> #include <string.h> #include <math.h> int main() { #ifdef DEBUG freopen("input", "r", stdin); #endif return 0; }
使用const定义常量,而非def
使用const好处在于,可以确定变量的类型,而不是单纯的一段代码。
浮点数陷阱
该程序是一个死循环 -- i不可能直接==10,最好的方法是fabs(i-10) < 1e-5
c
#include <stdio.h> #include <math.h> #include <unistd.h> #include <stdlib.h> int main() { double i; /* 这样是可以的 */ double z = 10l; if(10 == z) puts("Yes"); puts("press any key to continue..."); system("read a"); /* 这样也行 */ for(i = 0; i != 10; i+=0.1) { /* printf("%.1lf\n", i); */ printf("%lf\n", i); if(fabs(i - 10) < 1e-5) break; } puts("press any key to continue..."); system("read a"); /** 这样不行 **/ for(i = 0; i != 10; i+=0.1) { /* printf("%.1lf\n", i); */ printf("%lf\n", i); if(i == 10) { puts("yes"); break; } } return 0; }
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。