🔴 从哪一步开始不对的

👁️ 0 人浏览 💬 0 人评论 ❤️ 添加收藏

(本条路线统一用 gcc -std=c11 -O0 -Wall 编译)把一段过程切成三步,每步都留个回执:

#include <stdio.h>

/* 定位 bug 的标准动作:把一段过程切成几步,每步留一个回执,
   看是从哪一步开始不对的 */
static int step1(int x) { return x + 10; }
static int step2(int x) { return x * 2; }
static int step3(int x) { return x - 5; }

int main(void) {
    int a = step1(1);       /* 期望 11 */
    int b = step2(a);       /* 期望 22 */
    int c = step3(b);       /* 期望 17 */

    printf("%d/%d/%d/%d\n", a, b, c,
           (a == 11) + (b == 22) + (c == 17));
    return 0;
}
提交你的答案
请登录后提交答案。
去登录
代码编辑器
Ctrl + Enter 运行
本次输入:
输出:

                        
👩‍🏫
AI
💬 题目评论

全部评论