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

VS Code编写的C语言马拉松距离计算程序输入后无输出求助

问题解答

错误原因

  • C标准库的scanf函数要求接收输入的参数必须是目标变量的内存地址,你当前代码中的scanf调用没有加取地址符&,属于典型的语法使用错误。
  • 你的代码中scanf("%d",miles);、scanf("%d",yards);两行,直接将未初始化的miles、yards变量值当做内存地址传入,触发未定义行为,程序会在输入完成后直接异常终止,不会执行后续的计算和打印逻辑,因此看不到期望输出。

修正方案

将对应的两行scanf代码修改为传入变量地址即可,修正后的完整代码如下:

#include <stdio.h>

int main(void)
{
    int miles, yards;
    double kilometers;

    printf("Enter the miles distance:\n");
    scanf("%d", &miles); // 新增取地址符&

    printf("Enter the yards distance:\n");
    scanf("%d", &yards); // 新增取地址符&

    kilometers = 1.609 * (miles + yards / 1760.0);
    printf("\nA marathon is %lf kilometers\n\n", kilometers);

    return 0;
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 05:18:02