You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

哪段代码设计更简洁优秀?两段代码的执行结果是否一致?

哪段代码的设计更简洁、更优秀?

先给你明确结论:示例B的代码设计更简洁、更优秀,而且两段代码的最终功能完全一致——都是通过循环校验,确保用户输入一个正整数后才退出循环。

具体分析下两者的差异:

  • 示例A把“输出提示语”和“获取输入”拆成了两步:先调用printf打印提示,再调用get_int()拿输入;而示例B直接利用了cs50库中get_int()支持直接传入提示字符串的特性,把提示和输入合并成了一步操作,砍掉了冗余的printf调用,代码行数更少,逻辑更紧凑。
  • 从可读性角度看,示例B的代码意图更聚焦:所有和“获取有效输入”相关的操作都集中在一行,不需要分散注意力去看单独的输出语句,代码的核心逻辑一眼就能看清。
  • 两段代码的核心校验逻辑(do-while循环判断input <= 0)完全相同,最终达成的效果没有任何区别。

示例A代码:

#include <stdio.h>
#include <cs50.h>
int main(void) {
    int input;
    do {
        printf("Enter a positive number: \n");
        input = get_int();
    } while (input <= 0);
}

示例B代码:

#include <stdio.h>
#include <cs50.h>
int main(void) {
    int input;
    do {
        input = get_int("Please enter a positive number: ");
    } while (input <= 0);
}

(注:你提供的示例B里提示文本是"Pleas...",应该是笔误,这里修正为完整的提示语,不影响核心逻辑判断)

内容的提问来源于stack exchange,提问作者TotalNewb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 04:04:51