用户输入字符替代整数时如何正确终止程序运行?
输入合法性校验实现方案
通用校验逻辑
- 先明确输入的预期约束,本次场景要求输入为整数
- 读取用户输入后优先做格式校验,不要直接用于后续业务处理
- 校验不通过时,立即输出错误提示并终止程序,避免非法输入引发后续逻辑异常
Python 实现示例
try: input_content = input("请输入整数:") target_num = int(input_content) except ValueError: print("输入不合法:需输入整数,检测到非数字字符") exit(1) # 校验通过后执行后续业务代码 print(f"你输入的整数为:{target_num}")
C 语言实现示例
#include <stdio.h> #include <stdlib.h> int main() { int target_num; printf("请输入整数:"); int scan_ret = scanf("%d", &target_num); // 校验scanf返回值,返回1代表成功匹配1个整数 if (scan_ret != 1) { printf("输入不合法:需输入整数,检测到非数字字符\n"); exit(1); } // 校验通过后执行后续业务代码 printf("你输入的整数为:%d\n", target_num); return 0; }
注意:必须优先处理输入校验的返回值,不要跳过校验直接使用输入内容,否则可能触发类型转换异常、内存越界等安全问题,直接终止程序的逻辑可以避免非法输入对后续流程产生污染。
内容的提问来源于stack exchange,提问作者avinash verma
相关产品推荐
相关产品推荐

