Smart猫小萌
因为多个变量声明是用 ; 分割的, 你可以很清楚的知道这是要声明4个变量.int a, b;char c, d;你也可以分辨出下面是语法错误的.int a, b;
c, d;但是由于多个不同类型函数声明是用 , 分割的. 如果允许合并声明, 遇到如下情况, 你语法是没有问题的, 但此处的 isHourStartFromZero 明显应该是个 boolean 值. 此时由于人为失误少写了 boolean 类型声明, 但编译器却无法帮助我们判断出错误, 这会增加代码的错误率. 而这种错误本来是应该在编码阶段就由编译器静态检查出来的.void print_time(int hour, minute, isHourStartFromZero)
{ if (isHourStartFromZero) { printf("%d:%d\n", hour + 1, minute);
} else { printf("%d:%d\n", hour, minute);
}
}