zeratul! 发表于 2021-1-16 22:21:35

萌新的小问题,一看就能解决,求求了

为什么dev c++编译运行一个程序显示的却是另一个函数的结果

昨非 发表于 2021-1-16 22:23:44

本帖最后由 昨非 于 2021-1-16 22:26 编辑

宏定义里不能加引号的(第二行第三行的位置)
#include <stdio.h>

#define PI 3.14159
#define S(r) PI * r * r   //这里引号去掉,而且,既然上边已经把3.14定义为PI,式子里直接用PI就好了
#define C(R) 2 * PI * r

int main()
{
      int r = 5;

      printf("半径为%d的圆,面积是:%.2f,周长是:%.2f\n", r, S(r), C(r));

      return 0;
}

zeratul! 发表于 2021-1-16 22:25:01

昨非 发表于 2021-1-16 22:23
宏定义里不能加引号的(第二行第三行的位置)

啊,晓得了,那帖子问的问题还没解决

昨非 发表于 2021-1-16 22:27:14

zeratul! 发表于 2021-1-16 22:25
啊,晓得了,那帖子问的问题还没解决

你再编译运行一次试试

zeratul! 发表于 2021-1-16 22:33:05

昨非 发表于 2021-1-16 22:27
你再编译运行一次试试

试过了,关掉重新开一个源代码打开文件还是不行,我是想知道为什么会这样

昨非 发表于 2021-1-16 22:34:05

zeratul! 发表于 2021-1-16 22:33
试过了,关掉重新开一个源代码打开文件还是不行,我是想知道为什么会这样

你确定编译后运行还是上次代码的结果?

风过无痕1989 发表于 2021-1-16 22:35:40

你宏定义的圆面积有错,看 2 楼的正确定义

zeratul! 发表于 2021-1-16 22:40:28

昨非 发表于 2021-1-16 22:34
你确定编译后运行还是上次代码的结果?

编译的时候下面显示是这个文件,但是运行的不是,是上一个文件

昨非 发表于 2021-1-16 22:46:02

zeratul! 发表于 2021-1-16 22:40
编译的时候下面显示是这个文件,但是运行的不是,是上一个文件

dev里面单独打开这个.c再编译运行呢

我用dev用的少,按理说编译后运行怎么会运行到上一个文件去呢

昨非 发表于 2021-1-16 22:49:02

zeratul! 发表于 2021-1-16 22:40
编译的时候下面显示是这个文件,但是运行的不是,是上一个文件

这样,你直接按f11,编译并运行,这总不会出问题了吧

zeratul! 发表于 2021-1-16 22:57:06

昨非 发表于 2021-1-16 22:49
这样,你直接按f11,编译并运行,这总不会出问题了吧

还是显示line1line2(我又换了个文件还是不行,F11也不行)
我重启程序了也是这样,而且今天才出现,前几天都没问题

昨非 发表于 2021-1-16 23:01:23

zeratul! 发表于 2021-1-16 22:57
还是显示line1line2(我又换了个文件还是不行,F11也不行)
我重启程序了也是这样,而且今天才出现, ...

你这个工程目录下一共几个.c的文件,我刚刚试了试,我用同一个.c文件改代码都没有任何问题
你还能找到那个line1 line2的代码吗?不行就先把那段代码的.c保存到其他地方
不要再一个工程下(绝了这。。。。)

zeratul! 发表于 2021-1-17 13:25:44

昨非 发表于 2021-1-16 23:01
你这个工程目录下一共几个.c的文件,我刚刚试了试,我用同一个.c文件改代码都没有任何问题
你还能找到那 ...

找不到了,但是我发现除了那几个程序都能正常运行,甚至新写的程序也能正常运行,把那几个程序复制到别的地方也可以正常运行。。。。。

zeratul! 发表于 2021-1-17 13:29:31

昨非 发表于 2021-1-16 23:01
你这个工程目录下一共几个.c的文件,我刚刚试了试,我用同一个.c文件改代码都没有任何问题
你还能找到那 ...

找到那个文件了,移出去就可以正常运行了,请问这是为什么呀

昨非 发表于 2021-1-17 15:21:09

本帖最后由 昨非 于 2021-1-17 15:23 编辑

zeratul! 发表于 2021-1-17 13:29
找到那个文件了,移出去就可以正常运行了,请问这是为什么呀

同一个工程下只能有一个main函数作为接口的

这样说可能不太标准,你可以理解为一个工程就是为了完成某项任务
而这里面main()函数又称为主函数,是黑框控制台的唯一对外接口,所以只能有一个
而其他的文件只不过是为了辅助这个带有main函数的.c文件执行而已

zeratul! 发表于 2021-1-18 19:40:02

昨非 发表于 2021-1-17 15:21
同一个工程下只能有一个main函数作为接口的

这样说可能不太标准,你可以理解为一个工程就是为了完成 ...

可是一个文件夹里的其他文件为什么没有被影响,就那一两个有影响

昨非 发表于 2021-1-18 19:44:14

zeratul! 发表于 2021-1-18 19:40
可是一个文件夹里的其他文件为什么没有被影响,就那一两个有影响

一个文件夹也要分不同的工程
多文件的话我也没怎么接触过,说不太清
但是你既然是在做两个题目,目的不一样还是分开了好
(我是一般直接一个工程里面不管是.h还是.c都放到一个文件夹里的)

zeratul! 发表于 2021-1-18 19:45:44

昨非 发表于 2021-1-18 19:44
一个文件夹也要分不同的工程
多文件的话我也没怎么接触过,说不太清
但是你既然是在做两个题目,目的 ...

唔,大概懂了一点

昨非 发表于 2021-1-18 19:47:27

本帖最后由 昨非 于 2021-1-18 19:49 编辑

zeratul! 发表于 2021-1-18 19:45
唔,大概懂了一点

因为我平时用vs比较多
vs默认是建立工程时都是分开的
dev的话就不太清楚了
页: [1]
查看完整版本: 萌新的小问题,一看就能解决,求求了