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

C语言简单自定义sum函数求和程序无法运行,求问题排查

C语言代码错误说明

你的代码存在以下3处核心问题,是导致无法正常运行的原因:

  • sum函数的声明、定义不符合标准C语法
    你声明的int sum();属于旧式C的无参数列表声明,没有指定形参的类型和数量;定义时int sum(m, n)也没有标注形参类型,现代C编译器会直接报错,需要显式声明形参为int类型。
  • printf函数调用格式错误
    printf(result)的写法完全不符合printf的传参规则:printf第一个参数必须是格式控制字符串,你直接传入int类型的result会被编译器当成内存地址处理,触发内存访问越界,直接导致程序崩溃。正确写法是printf("%d", result),用%d格式符指定输出整数。
  • 非标准依赖问题
    你引入的conio.h是Windows平台特有的非标准头文件,getch()也是该头文件下的非标准函数,在Linux、MacOS等平台编译会直接失败,可替换为标准库的getchar()函数实现类似效果。

修正后可正常运行的代码
#include <stdio.h>

// 显式声明sum函数的参数类型
int sum(int m, int n);

// 计算用户输入的两个整数的和
int main(){
    int n, m;
    printf("Enter two numbers: \n");
    scanf("%d", &m);
    scanf("%d", &n);
    int result = sum(m, n);
    // 正确使用printf输出整数
    printf("%d", result);
    // 替换非标准的getch为标准getchar,先吃掉scanf留下的换行符,避免getchar直接跳过
    getchar();
    getchar();
    return 0;   
}

// 定义时显式标注参数类型
int sum(int m, int n){
    int c;
    c = m + n;
    return c;
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 18:15:02