| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 488 人关注过本帖
标题:谁能帮我在gcc里面编译下面的程序啊?
只看楼主 加入收藏
李福0602
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-3-4
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
谁能帮我在gcc里面编译下面的程序啊?
hanoi.h:
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>

extern int cnt;
int get_n_from_user(void);
void move(int n,char a,char b,char c);
main.c:
#include "hanoi.h"
int cnt=0;
int main(void){
int n;
n=get_n_from_user();
assert(n>0);
move(n,'A','B','C');
return 0;
}
get.c;
#include <hanoi.h>
int get_from_user(void){
   int n;
   printf("%s",
        "---\n"
        "TOWERS OF HANOI:\n"
        "\n"
        "There are three towers:A,B,and C.\n"
        "\n"
        "The disk on tower A must be moved to tower C.Only one\n"
        "disk can be moved at time,and the order on each tower\n"
        "must be preserved at each step.Any of the towers A,B,\n"
        "or C can be used for intermediate placement of a disk.\n"
        "\n"
        "Input n: ");
        "if(scanf("%d",&n)!=1||n<1){
        printf("\nEROR:Positive integer not found-bye!\n\n");
        exit(1);
        }
        printf("\n");
        return n;
}
move.c:
#include "hanoi.h"
void move(int n,char a,char b,char c){
  if(n==1){
    ++cnt;
    printf("%5d: %s%d%s%c%c.\n",cnt,
        "Move disk ",1,"from tower",a," to tower",c)
    }
else{
      move(n-1,a,c,b);
        ++cnt;
        printf("%5d: %s%d%s%c%c.\n",cnt,
            "Move disk",n,"from tower",a,"to tower",c);
            move(n-1,b,a,c);
            }
}
搜索更多相关主题的帖子: void cnt include return 
2013-03-18 18:24
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:3 
你是不知道怎么用GCC编译多个文件呢,还是没有GCC?

顺便说一句,一眼就看到倒数第二个printf后没有分号。

重剑无锋,大巧不工
2013-03-18 18:54
小xiong
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:388
专家分:1722
注 册:2013-2-8
收藏
得分:2 
汉诺塔,,,,,
2013-03-18 19:05
hj_18
Rank: 2
等 级:论坛游民
帖 子:1
专家分:15
注 册:2013-3-19
收藏
得分:15 
代码错误好多,首先看 get.c ,对 hanoi.h 的包含应该用双引号而不是尖括号,代码中的 if 前面多了 '"',造成编译出错。然后是 main.c 中,函数名出错,应该是 get_from_user 而不是 get_n_from_user 。然后是 move.c 中第一个 printf 的括号后漏了 ';' 。
编译时的命令是:
gcc main.c get.c move.c -o hanoi
我在 winxp3 下用 mingw 的 gcc-4.7.2 编译通过,得到的可执行文件是 hanoi.exe ,运行正常。
2013-03-19 09:46
李福0602
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-3-4
收藏
得分:0 
回复 2楼 beyondyf
呵呵,谢谢你啊,是我弄错了,我也是新手啊
2013-03-22 15:51
李福0602
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-3-4
收藏
得分:0 
回复 3楼 小xiong
是啊,你也知道啊,哈哈,刚开始我不知道怎么编译,现在我知道了
2013-03-22 15:52
李福0602
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-3-4
收藏
得分:0 
回复 4楼 hj_18
谢谢你啊,给我回答的这么详细,我会了,而且,我还是用makefile编译的,我盼望以后有什么问题,我们还可以交流啊
2013-03-22 15:55
快速回复:谁能帮我在gcc里面编译下面的程序啊?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.043525 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved