
C语言沉思
yangluoning
这个作者很懒,什么都没留下…
展开
-
小问题
例一:下面程序输出什么?int main() { int i = 43; int n = printf("%d\n",i); printf("%d\n",n); return 0;} 国嵌唐老师(22134670):大家深入考虑一下 为什么返回是3 这背后有什么鲜为人知的秘密 到底是C语言离奇的规定 还是深思熟虑后的决定?原创 2013-05-23 10:06:44 · 565 阅读 · 0 评论 -
一道面试题的思考。。。
本文摘自国嵌聊天群聊记录:国嵌唐老师(22134670)21:04:16下一个题是一个同学面试时遇见的,他被鄙视了,大家看看自己是否可以过关。题目如下:在32位机器上,用你觉得最高效的方法实现 memcpy 函数。void* memcpy(void* dest, void* src, unsigned int size);Success(60原创 2013-05-23 10:24:00 · 1433 阅读 · 0 评论 -
为什么GCC将变量名“linux”视为常量“1”?
如果你在GCC中编译类似下面的代码,将无法通过: int main(void) { int linux = 5; return 0; }使用-E选项检查,你会发现预处理器将上面那段代码处理成了下面这样: int main(void) { int 1 = 5; return 0;转载 2013-10-11 10:02:45 · 1018 阅读 · 0 评论 -
国际C语言混乱代码大赛代码赏析
国际C语言混乱代码大赛(The International Obfuscated C Code Contest IOCCC)。IOCCC有许多令人捧腹之处,不管你是自己编写还是时候分析获胜者的代码,都能够以令人惊讶的方式扩展你的知识。通常有10种类型的获胜者:“对规则的最奇怪的滥用”,“最具创意的源代码布局”,“最简单的单行代码”等。综合性的“最佳上镜”奖授予最难阅读、行为最为古怪(但能够运行)的转载 2013-10-11 10:03:47 · 9087 阅读 · 0 评论