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

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

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

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\n", 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\n", i, is_prime(i) ? "" :"not ");
18    }
19 }
20 
21 int main(void)
22 {
23    test();
24    return 0;
25 }

 

相关文章:

  • 2021-10-01
  • 2021-06-15
  • 2021-12-27
  • 2021-06-14
猜你喜欢
  • 2022-01-16
  • 2022-12-23
  • 2021-05-28
  • 2021-06-07
  • 2021-09-02
  • 2021-10-18
  • 2021-07-22
相关资源
相似解决方案