摘要: 求出1..n中有多少个素数的算法我们通常用筛数法,一种比较简单的实现如下: 1 #include 2 #include 3 4 int main(const int argc, const char *argv[], const char *envp[]) 5 { 6 int64_t ... 阅读全文
posted @ 2015-05-01 15:11 FreeBirdLjj 阅读(907) 评论(2) 推荐(0) 编辑
摘要: 经常看到有人介绍一些IDE或者像gdb这样的调试器的很高级的调试功能,也听人说过有些牛人做工程的时候就用printf来调试,不用特殊的调试器。特别是在代码经过编译器一些比较复杂的优化后,会变得“难以辨认”,使用调试器也变得有些头疼。先举个简单的例子: 1 #include 2 3 int main(){ 4 int a[6], i, sum = 0; 5 for(i = 0; i<6; i++) 6 a[i] = i<<2; 7 a[3] = 5; 8 for(i = 0; i<6; i++) 9 sum += a[i];10... 阅读全文
posted @ 2013-08-10 22:08 FreeBirdLjj 阅读(2444) 评论(3) 推荐(0) 编辑
摘要: Lua本身并没有提供switch-case语句,难道说我们就只能靠不断的"if ... elseif ... "这样冗长的方式来实现选择的功能么?当然不是这样的。Lua提供了功能强大的metatable,我们可以选取任意的数据类型作为table的索引类型和元素类型。而实质上在C语言中,switch-case语句是根据不同的情况(参数的值)来选择执行不同的动作,数组则是根据不同的下标返回对应的数据。如果函数可以作为一种数据类型存在,那么很明显switch-case语句只是生成了一个元素类型是函数的数组而已(其实C编译器也确实是这么做的)。在Lua里函数确实是一种数据类型, 所 阅读全文
posted @ 2013-08-05 17:14 FreeBirdLjj 阅读(31296) 评论(0) 推荐(1) 编辑