/*
 * demo_versions/kr_implicit_int.c
 * --------------------------------------------------------------------------
 * 演示：K&R 隐式 int（C89 允许省略类型）。
 *
 * 来源：wiki 块 [58954439:14]「3.4 C++中所有的变量和函数都必须有类型」原意是
 * 演示 C89 允许「无类型」函数与参数，C99 起被废除。
 *
 * 验证（用 tools/std_probe.py）：
 *   gcc -std=c89  → PASS（隐式 int 合法）
 *   gcc -std=c99  → WARNING（隐式 int 已弃用）
 *   gcc -std=c17  → ERROR （隐式 int 非法）
 *
 * 运行：tools/std_probe.py --lang c --file tools/demo_versions/kr_implicit_int.c
 * --------------------------------------------------------------------------
 */

/* C89：函数返回类型可省略（隐式 int）；参数可只写名字（隐式 int）。 */
fun1(i) {            /* 等价于 int fun1(int i) */
    return i + 1;
}

fun2(p)              /* 等价于 int fun2(char* p) —— 但隐式 int 下 p 被当作 int */
    char* p;
{
    return 0;
}

int main(void) {
    return fun1(41);
}
