| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 693 人关注过本帖
标题:extern 问题
只看楼主 加入收藏
逻辑猫
Rank: 1
等 级:新手上路
帖 子:11
专家分:9
注 册:2010-4-4
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:4 
extern 问题
这是两个文件要正常运行后得出答案,由于不会看看有没有办法;
我用的是win—TC2.0编译器。
第一个文件程序内容
    #include <stdio.h>
    int a,b;
    void calculation(void);

    void main()
    {
      printf("请输入第1个数字:\n");
      scanf("%d",&a);
      printf("请输入第2个数字:\n");
      scanf("%d",&b);
      calculation();
    }
第二个程序内容


   extern int a,b;

    void calcultion()
    {
      printf("a 和 b 的和是: %d\n",a+b);
      printf("a 和 b 的乘积是: %d\n",a*b);
    }

这个两个文件的后缀是.C
不会分开执行。
修改去掉 extern int a,b;
修改后合成一个执行可以运行。

  #include<stdio.h>
   void calcultion(int a,int b)
{
  printf("a 和 b 的和是: %d\n",a+b);
  printf("a 和 b 的乘积是: %d\n",a*b);
}


void main()
{
int a,b;
  printf("请输入第1个数字:\n");
  scanf("%d",&a);
  getchar();
  printf("请输入第2个数字:\n");
  scanf("%d",&b);
  getchar();
  calcultion(a,b);
}

桌面.rar (721 Bytes)



[ 本帖最后由 逻辑猫 于 2010-6-3 09:21 编辑 ]
搜索更多相关主题的帖子: include 编译器 
2010-06-03 09:18
Kid_X
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:216
专家分:515
注 册:2007-10-8
收藏
得分:1 
分开编译没问题,除了分开写中第二个文件中的函数名字写错了。VC6下运行通过。
TC下怎么编译我就不知道了,没有用过TC。
2010-06-03 09:49
逻辑猫
Rank: 1
等 级:新手上路
帖 子:11
专家分:9
注 册:2010-4-4
收藏
得分:0 
回复 2楼 Kid_X
能说下在VC下怎么通过编译吗?谢谢。

耐心,稳健!
2010-06-03 09:55
Kid_X
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:216
专家分:515
注 册:2007-10-8
收藏
得分:6 
VC6下直接建立project,然后把两个源文件添加进该project,编译、链接就可以了,IDE会自动帮你搞定。
TC下应该也要建立project,然后好像是build吧。
如果是手动编译的话,例如用gcc(linux环境下),先把每个.c文件编译成.obj文件,然后把这些obj文件link成一个exe文件,当然,不同的系统文件的后缀名可能不同。IDE的流程也是这样的,只是它帮你一次都做好了而已。
2010-06-03 10:04
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:3 
extern  表示引用声明, 一般用在多个文件共享变量或函数 ;/
相当于扩大变量或函数的作用域

我就是真命天子,顺我者生,逆我者死!
2010-06-03 11:42
快速回复:extern 问题
数据加载中...
 
   



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

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