PHP编写lookForTen函数无预期输出,请求问题排查
PHP lookForTen函数问题排查与修复
问题总结
你的代码存在三个导致输出异常或逻辑不符合要求的问题:
- 未调用定义好的
lookForTen函数,也没有输出函数返回值 - 函数逻辑不完整,仅判断两数之和为10,未覆盖“单个参数为10”的条件
- 输入的字符串未转换为整数,直接相加可能引发非预期行为
修复后的代码
<?php $a = (int)trim(fgets(STDIN)); $b = (int)trim(fgets(STDIN)); function lookForTen($a, $b): bool{ return $a == 10 || $b == 10 || $a + $b == 10; } // 调用函数并输出结果 echo lookForTen($a, $b) ? 'true' : 'false'; ?>
修复细节
- 类型转换:用
(int)将输入字符串转为整数,确保数值计算的正确性,避免字符串拼接导致的错误 - 逻辑补全:添加
$a == 10和$b == 10的判断,满足题目中所有返回true的触发条件 - 调用与输出:显式调用函数并通过
echo打印结果,PHP不会自动输出函数返回值,必须手动执行打印操作
内容的提问来源于stack exchange,提问作者Sakib Rahman
相关产品推荐
相关产品推荐

