练习1.1:运行阶乘的示例并观察,如果输入负数,程序会出现什么问题?试着修改代码来解决问题. 答:当输入负数时,循环无法终止,因为原本程序中的终止条件为n==0,而在输入为负数情况下,无法达成此终止条件. 程序在输入为负数时会失效,在输入为0和整数以外的其他数时都会失效,因为每次迭代将值减少1:在其他情况下,无法出现恰好==0的终止条件,从而导致堆栈溢出. 解决办法有两个思路:1.在调用方进行约束:2.在被调用方进行约束. 为函数本身简单起见,函数中终止条件修改为<=0,调用方负责传入的数值为非…