摘要: 下面的文章转自一个大二学生的问题和杨中科老师的回答,我看了以后还是蛮有收获的。先介绍我的情况 普通本科大二学生,,之前一直在练acm的题,也获得了一些大赛的奖项,有一天有个人问我,叫我做一个小软件,我发现我不会。。更惨的就是我好像什么软件都不会做(这里指的是基于c/c++的开发),,除了console的一些算法题,,然后我和自己说练acm够了,应该开始学开发工具的运用和一些库类(函数)的使用了,,这样2个星期下来,我翻了很多关于商业程序开发资料,我发现商业程序代码真的很少涉及到高效算法和一些特殊的数据结构,而且我也问了几个现在在公司上班的师兄,他们也说工作中真正用到acm的知识是很少很少的。现 阅读全文
posted @ 2011-11-17 17:46 magic_box 阅读(649) 评论(0) 推荐(0) 编辑
摘要: 今天在做题目的时候碰到一个很奇怪的现象。先看代码:#include <stdio.h> #include <string.h> int main() { char a[100]; int i,len; scanf("%s",a); len = strlen(a); printf("%d\n",len); a[100] = '0'; //请注意a[100] printf("%d",len); return 0; } 我在定义的时候定义的是a[100],其实是从a[0]到a[99]。运行这个程序的结 阅读全文
posted @ 2011-11-02 21:32 magic_box 阅读(586) 评论(0) 推荐(0) 编辑
摘要: 每一C 程序都必须有一main()函数, 可以根据自己的爱好把它放在程序的某个地方。有些程序员把它放在最前面, 而另一些程序员把它放在最后面, 无论放在哪个地方, 以下几点说明都是适合的。1. main() 参数在Turbo C2.0启动过程中, 传递main()函数三个参数: argc, argv和env。* argc: 整数, 为传给main()的命令行参数个数。* argv: 字符串数组。在DOS 3.X 版本中, argv[0] 为程序运行的全路径名; 对DOS 3.0以下的版本, argv[0]为空串("") 。argv[1] 为在DOS命令行中执行程序名后的第一 阅读全文
posted @ 2011-10-31 21:39 magic_box 阅读(713) 评论(0) 推荐(0) 编辑
摘要: 学习过转义字符以后,大家都明白 例如 \t (横向跳格) \n(换行) \\(输出一个\) \' (输出一个 ') \" (输出 ") \ddd (ASCIi为八进制所代表的字符) \xhh (ASCII为十六进制所代表的字符)说到这里,我碰到了一个问题,如何输出%呢?如果直接 printf("%");在执行的时候是没有任何输出的,即使printf("\%");也是一样的。这是因为%所代表的是格式字符,比如printf("%d",n);所以这里要特别注意如果想输出%,必须用%%,即printf(&q 阅读全文
posted @ 2011-10-31 10:23 magic_box 阅读(456) 评论(0) 推荐(0) 编辑
摘要: 在使用古董级版本的VC6.0++的时候,经常会出现编译后运行程序,然后修改了程序之后会出现如下错误:--------------------Configuration: 123 - Win32 Debug--------------------Linking...LINK : fatal error LNK1168: cannot open Debug/123.exe for writing执行 link.exe 时出错.造成这种情况的原因是因为在第一次运行程序以后没有关掉可执行文件,所以当再次编译时系统当然不会让你通过了,就会导致连接错误了。所以只要关掉运行的可执行文件就行了。但是有时候连e 阅读全文
posted @ 2011-10-29 22:30 magic_box 阅读(963) 评论(0) 推荐(0) 编辑