c语言编译不了什么情况,c语言编译没错但是无法运行

本文讨论了在不同C/C++编译器中遇到的问题,如C-Free和VC6.0/MSDEV。主要问题包括函数返回类型、未声明的变量和缺少的宏定义。示例程序中演示了如何使用宏定义计算两个数的和,并展示了在不同编译器下需要注意的语法差异。修复后的程序成功实现了输入两个数并打印它们之和的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

输入上:注意,输入数据时,中间是英文逗号。

再看这个程序:这个程序还要看编译器

faad068e4c4fafde366d483331fc2606.png

cb2e45c0f7ee6adef817dafd2d057a87.png

1.在一些c\c++语言编译器中,必须要以int型返回,而不是void,看那个蓝色的

2.你这里面调用了sum,但是却没有声明sum,程序无法识别,我想你是把宏参数搞丢了

3.有一个警告,末尾缺少return 0;结束语。

以上说的是对于如C-Free这样的编译器。

那么还一种,如VC6.0,MSDEV这种。

c0eec7cd61182831d1a4042c0984aab0.png

bc5fd9a900e81f3c11f89163dc60c01e.png

注意,在这种编译器里面可以用void型,也不需要return 0;,但是必须要加一个#include "stdafx.h"

这样你就只有一个错误,还是sum没有定义。

我估计sum运用了宏参数,下面是我写的程序:

#include "stdafx.h"

#include

#define sum(a,b) (a+b)

void main()

{

int a,b,c;

scanf("%d,%d",&a,&b);

c=sum(a,b);

printf("a+b=%d\n",c);

}

下面是结果运行图:

b935cd3d28dcd65c90ae453b17161406.png

注意,输入数据时中间是英文逗号。

还有问题吗,谢谢采纳,Thanks♪(・ω・)ノ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值