啊o额iu鱼吧 关注:170贴子:7,396

【c语言】关于教材,看国产书,最有意思的就是找错误……

只看楼主收藏回复

谭书已经被爆无数错误了,但这边大学课本不是谭书,那我就没时间别外去看谭书了,就看这个吧……


IP属地:广东1楼2014-09-25 21:55回复
    沙发,首先,作为一本以二级c为目标的书,不可避免的会对正常学习c语言的同学造成大量误导,所以我就不吐嘈了,之把自己找到的错误,以及一些不好的说出来……


    IP属地:广东2楼2014-09-25 21:59
    回复
      板凳,缓冲一楼……


      IP属地:广东3楼2014-09-25 21:59
      回复
        首先,vc6,又叫vc++6,全名Microsoft Visual C++ 6.0,微软写的,可视化的c++工具,是用c来写windows程序的IDE,严格来说已经不少人认为vc不能算c语言了……
        反正vc6本身就是一个大坑,上个世纪的东西,能好到哪去……
        可是二级c用的就是vc6,我也没话说了……


        IP属地:广东4楼2014-09-25 22:08
        回复
          莫名的跳出一个48,哪里来的呢?53-5=48,可你为什么不说说单引号‘0’这种用法呢?
          难怪有看到大一的喜欢直接写数字,48还好,有时看到65,97之类的,突然一下真不一定想的起来……


          IP属地:广东5楼2014-09-25 22:18
          收起回复
            127页强转……
            这个情况很复杂……
            错误?谁给你的勇气说这错误?vc6?
            只字不提c语言无敌的自动转换,无论什么类型,无论怎么赋值,我还没见过能让c语言编译器GCC报类型不一致的错误……
            至于vc6报错,这不怪它,它叫vc++6,默认是个c++编译器,缺省情况下建的工程都是c++的,c++比c严格,不允许这样的自动转换(貌似所有会造成数据丢失的情况都不允许),而是直接报错……
            但是如果文件后缀是.c的话就不一样了,vc6会知道这是c程序,而用c的规则对待,就不报错了……
            g++与gcc命令也一样,gcc是处理c的,g++是处理c++的,也和文件名有关,如果后缀是.cpp,就会当成c++程序,gcc和g++效果就一样了……



            IP属地:广东6楼2014-09-25 22:47
            回复
              这几个,大概是笔误吧……



              IP属地:广东7楼2014-09-25 22:56
              收起回复
                绝口不提输出缓冲区,怕同学听不懂么,反正c primer plus有讲,这里不讲就觉得不对……
                printf不是直接输出到屏幕,而是先送到缓冲区……


                IP属地:广东8楼2014-09-25 22:59
                收起回复
                  老师看到一一个源码例子没写int return 0;
                  果断添加上了……
                  并且简单说了下,把这个归到代码风格……
                  看起来还好……


                  IP属地:广东来自Android客户端9楼2014-09-30 08:21
                  回复
                    这本书上倒是都有int main(){return 0;}……


                    IP属地:广东来自Android客户端10楼2014-09-30 08:22
                    回复
                      老师要求手写代码,这是我第一次在纸上写完整代码……


                      IP属地:广东来自Android客户端11楼2014-09-30 08:31
                      收起回复
                        /*
                        真的不能改变么?
                        突然想利用强制转换试试……
                        gcc成功改变,g++不变,
                        看起来应该要会变的吧,
                        好吧,这个不算……
                        */
                        #include <stdio.h>
                        int main()
                        {
                        const int i=5;
                        printf("%d\n",i);
                        int *p=(int*)(&i);
                        *p=4;
                        printf("%d\n",i);
                        return 0;
                        }


                        IP属地:广东来自Android客户端12楼2014-09-30 09:28
                        回复
                          这种东西都要我们抄下来,有意思么,背下来就会用了么……


                          IP属地:广东来自Android客户端13楼2014-09-30 09:30
                          回复
                            一个舍友买了本谭书,这逗逼书,估计是真的被老师误导了……
                            随便看了一例,求输出两个数的最大值,
                            0,变量名用abc我就不说它了……
                            1,scanf里面用逗号隔开两数,这写法也就是误导下新人了,总有亲人乱用格式化输入导致输入出错……
                            2,max函数写在main函数下面,用之前却不声明,c99标准没看多少,不知道这写法错不错,但放在书上就是老谭的错……


                            IP属地:广东14楼2014-10-04 22:28
                            收起回复
                              喵。。。


                              IP属地:广东来自Android客户端15楼2014-10-05 06:21
                              回复