1. <div id="11111"></div>

    1. <div id="11111"></div>

      1. <div id="11111"></div>

        C语言编程的几点经验

        日期: 标签:C语言 10 条留言
        如需帮忙改代码,或者WordPress二次开发、PHP网站建设等需求,可联系我购买付费服务:  点此联系我
        文章目录

        一. scanf 返回值

              scanf()函数执行成功后的返回值是成功读取的变量数,也就是说,这个scanf()函数有n个变量,如果scanf()函数全部正常读取,它就返回n。scanf()函数执行成功意味着:用户输入的数据类型与scanf()函数的变量类型匹配,且个数一致,如scanf("%d", &a);用户输入的是整数6,则scanf()函数执行成功,返回值为1,即scanf("%d", &a) == 1。熟悉这一点,就可以用于验证用户输入的正确性。以下是一个示例:

        #include <stdio.h> 
        
        int main()
        {
            int a = 123; 
        
            printf("输入一个整数:\n");
            while (scanf("%d", &a)!=1)  /*输入的是非法值,则要求用户重新输入*/
            {  /*直到用户输入合法值为止*/
                printf("错误,重新输入:\n");
                setbuf(stdin, NULL);    /*清空键盘缓冲区,清楚上次错误输入的数据*/
            }
            printf("a = %d", a);
            return 0;
        }

        运行结果1:

        输入一个整数:

        6 (回车)

        a = 6

        运行结果2:

        输入一个整数:

        k  (回车)

        错误,重新输入:

        6 (回车)

        a = 6

        二. 用scanf()输入多个字符串

             一定要注意:用scanf()输入多个字符串时一定要注意分隔符问题。如scanf("%s,%s", p1, p2);如果你输入abcd,efgh   事实上p1等于abcd,efgh而不是abcd,而p2是乱码,这时候scanf("%s,%s", p1, p2);的返回值是 1 ,而不是2。输入多个字符串是,使用用空格、n和t作为分隔符都是正确的,如果你输入的字符串包含空格,则要用gets(),不要用scanf。以下是几个正确的范例:

        scanf("%s\n%s", p1, p2);  /* 输完p1,然后Enter,接着输入p2 */
        scanf("%s %s", p1, p2);   /* 输入时用空格隔开 */
        scanf("%s\t%s", p1, p2);  /* 输入时用Tab隔开 */

        三. 清屏函数

             使用system("CLS")函数可以清除程序运行窗口中所有内容,即在system("CLS")函数之前输出的所有内容都将被删除。这个函数对于命令行的程序的相当有用的(个人观点),可以实现程序界面的简洁性。但是system("CLS")函数在Linux平台的GCC中是无法识别的,那就换做system("clear"),可以实现相同的功能。

        四. system("pause")和getchar()

             有时候程序运行只是一闪而过,看不到运行结果,这时system("pause")和getchar()就起作用了。system("pause")是程序运行到该函数就暂停运行了,按任意键可以继续运行system("pause")函数之后的代码,程序暂停的时候,你就可以看到之前的输出结果了;getchar()一般用于获得从键盘输入的字符,如果是单纯的一条语句getchar();就表示等待用户输入字符,这也起到暂停程序运行的功能,跟system("pause")的功能大同小异,按任意键后就可以继续运行getchar();之后的代码了。注意:system("pause")在Linux平台的GCC中是无法使用。

        五. C语言是没有引用的

        关于什么是引用,可以看看这两个网页的介绍:
        谈谈 C++ 的引用
        深入探讨C++中的引用

             之前编写了个C语言程序,保存为.c文件始终没法通过编译,结果换成.cpp居然通过编译了。不懂其中奥妙,上CSDN提问:我用的纯C编写的程序,为什么要用.cpp文件才能通过编译呢?结果引来一顿痛批:"被忽悠了,这也能叫纯C" ,"c语言里面没有引用的^_^,&只能用来取地址"。才知道我的程序里面用了C++机制的引用,C和C++都学了,没学精搞混了,而且严蔚敏吴伟民所谓的C语言版数据结构书上也使用了引用,我就当C来使了,我也被忽悠了。

        -- 完 --

        本文采用 「CC BY-NC-SA 4.0」创作共享协议,转载请标注以下信息:
        原文出处:露兜博客 http://www.szeverich.net.cn/c-experience.html
        露兜
        kaapass@outlook.com  QQ 825533758

        业余编程爱好者,主业是淘宝店主,卖些工艺品,感兴趣可以到我的淘宝店看看(旺旺不提供技术咨询):西西弗sisyphe

        10 条留言

        点此留言
        1. 是我!

          你在csdn的账号是什么???
          还上么?

        2. Ludou

          回复@是我!
          我的CSDN账号是zhouzb889 基本上还在用,但也不是天天去了。

        3. 是我!

          回复@Ludou
          你用哪个邮箱?

        4. LV

          不错啊 ·

        5. keelii

          博主擅长C啊。呵呵。很不错。

          • Ludou

            @keelii 还谈不上擅长,只学了一些表面的东西,用的也是很简单的技术。

        6. 单身

          博主加油,以后多来取经,呵呵。

          • Ludou

            @单身 谢谢你的支持,我会继续努力的。

        7. xucj203

          觉得挺好,顶一个。。。。
          我有个问题想问一哈,如何用c编写股票模拟系统,所开发的系统能模拟买卖股票、股票信息查询、股票数据图形化显示、股价预测等功能。这个算法大概是怎样的呢?望赐教

          • Ludou

            @xucj203 抱歉,我不是C语言程序员,更不是架构师。

        发表留言

        可以挣钱的游戏 903| 417| 3| 361| 528| 754| 54| 938| 60| 405| 639| 439| 955| 230| 859| 902| 72| 216| 859| 647| 351| 232| 731| 751| 948| 468| 369| 47| 436| 213| 825| 872| 361| 166| 713| 196|