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

C语言求Hypoteneous程序运行后不显示结果问题求助

直角三角形斜边计算程序异常退出问题解决

你的程序核心问题出在scanf函数的参数使用错误,另外可以补充处理程序运行后直接关闭的问题,具体如下:

1. 核心错误:scanf未传递变量地址

scanf读取输入时,必须传入变量的内存地址(通过&取地址符获取),而你直接传递了变量P和B本身。这会导致程序访问非法内存,触发未定义行为,表现为输入后直接崩溃退出,无法执行到输出步骤。

修正后的scanf语句:

scanf("%lf", &P);  // 添加&取地址符
scanf("%lf", &B);  // 添加&取地址符

2. 可选:避免程序运行后窗口直接关闭

如果是Windows环境下双击运行程序,计算结果输出后窗口会立刻关闭,看不到结果。可以在return 0;前添加代码,让程序等待用户输入后再退出:

// 先清理输入缓冲区残留的换行符(避免直接跳过等待)
while(getchar() != '\n');
printf("\nPress Enter to exit...");
getchar();

完整修正代码

#include <stdio.h>
#include <math.h>

int main() {

    double P;
    double B;

    printf("\nPerpendicular:");
    scanf("%lf", &P);
    printf("\n Base:");
    scanf("%lf", &B);
    double H = sqrt(P * P + B * B);
    printf("Hypoteneous:%lf", H);

    // 等待用户输入,防止窗口直接关闭
    while(getchar() != '\n');
    printf("\nPress Enter to exit...");
    getchar();

    return 0;
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 15:06:15