zoukankan      html  css  js  c++  java
  • 如何发现程序中的错误

        假定你的程序编译通过(要当心警告),但运行错误,应该怎么处理呢?

    一 你的脑子就是计算机,在脑子中运行并且检查你的程序。直接确定你的错误

    二  如果第一步不行。尽可能准备充分的测试数据,让你程序的错误通过运行显现出来。

    三  找到让程序出错的输入数据后,如何找到代码的错误之处?

    1. 把你的脑子当计算机用,运行之

    2. 使用printf在关键处输出其状态

    3. 使用编译器提供的调试工具

    3.1 codeblocks的调试

    可以参见 http://blog.csdn.net/sxhelijian/article/details/15026159

     要点 (1)debug菜单 or debug 工具栏

           (2)设置断点(F5)

            (3) 开始调试(F8)

            (4) 用watches查看变量值(菜单debug/debug windows/watches)

            (5)结束调试(shift+F8)

           (6)单行执行(F7)

           (7)运行到光标处(F4)

            (8)进入/退出函数

     示例一:

    #include <stdio.h>
    
    int main(void)
    {
        int a, b;
        scanf("%d %d", a, b);
        printf("%d ", a + b);
        return 0;
    }

    示例二

    #include <stdio.h>
    
    int main(void)
    {
        int sum, n;
        int i;
    
            scanf("%d", &n);
        for(i = 1; i <= n; i++)
            sum += i;
    
        printf("%d ", sum);
        return 0;
    }

    示例三:

    #include <stdio.h>
    
    int main(void)
    {
        int sum = 0, n;
        int i;
    
        while(scanf("%d", &n) != EOF) {
            for(i = 1; i <= n; i++)
                sum += i;
            printf("%d
    ", sum);
        }
        return 0;
    }

    示例:

     1 #include<stdio.h>
     2 int is_prime(int n)
     3 {
     4    int i;
     5 
     6    for(i = 2; i * i < n; i++)
     7    //for(i = 2; i * i <= n; i++)
     8       if(n % i == 0)
     9          return 0;
    10    return 1;
    11 }
    12 
    13 void test(void)
    14 {
    15    int i;
    16    for(i = 2; i <= 16; i++){
    17       printf("%d is %s a prime
    ", i, is_prime(i) ? "" :"not ");
    18    }
    19 }
    20 
    21 int main(void)
    22 {
    23    test();
    24    return 0;
    25 }
  • 相关阅读:
    问答
    正在设计taijilang的解析器,真可谓尸横遍地
    因为这些理由而坚持用grunt?其实它们都不成立。
    开始设计taijijs
    从grunt转到gulp
    google 索引
    :: operator
    用coffeescript写构造函数
    jade与angular.js
    angular.js 资料收集
  • 原文地址:https://www.cnblogs.com/4bytes/p/5072382.html
Copyright © 2011-2022 走看看