鱼C论坛

 找回密码
 立即注册
查看: 611|回复: 6

[已解决]这个警告为啥?

[复制链接]
发表于 2020-12-20 09:56:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 一世轻尘 于 2020-12-20 09:59 编辑
  1. #include<stdio.h>
  2. #include<conio.h>
  3. extern int m=100;
  4. int main()
  5. {
  6.         void print();
  7.        
  8.         for(int i=0;i<15;i++)
  9.             print();
  10.         getch();   
  11. }

  12. void print()
  13. {
  14.         static int x=1000;
  15.         printf("x is %d,m is %d\n",x,m);
  16.         x++,m++;
  17. }
复制代码

gcc编译
最佳答案
2020-12-20 11:07:41
一世轻尘 发表于 2020-12-20 10:55
可是好像只有gcc编译器不能,而且我书上说是可以这样,而且我上网查了一下也是一样。听说vc编译就不会警 ...

        请参考这一篇文章,说得比较得体
        https://www.jianshu.com/p/111dcd1c0201
1.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-12-20 10:43:17 | 显示全部楼层
本帖最后由 jackz007 于 2020-12-20 10:45 编辑

        这一句
  1. extern int m=100;
复制代码

        改为
  1. int m=100;
复制代码

        "extern" 的意思是这个变量来自其它的源代码文件。在使用多个源代码文件编程时才有用。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-20 10:55:20 | 显示全部楼层
jackz007 发表于 2020-12-20 10:43
这一句

        改为

可是好像只有gcc编译器不能,而且我书上说是可以这样,而且我上网查了一下也是一样。听说vc编译就不会警告
1.png
2.png
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-20 11:07:41 | 显示全部楼层    本楼为最佳答案   
一世轻尘 发表于 2020-12-20 10:55
可是好像只有gcc编译器不能,而且我书上说是可以这样,而且我上网查了一下也是一样。听说vc编译就不会警 ...

        请参考这一篇文章,说得比较得体
        https://www.jianshu.com/p/111dcd1c0201
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-20 11:11:38 | 显示全部楼层
jackz007 发表于 2020-12-20 11:07
请参考这一篇文章,说得比较得体
        https://www.jianshu.com/p/111dcd1c0201

可是我在函数外定义且初始化了,为啥会警告呢?
1.png
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-20 11:12:51 | 显示全部楼层
jackz007 发表于 2020-12-20 11:07
请参考这一篇文章,说得比较得体
        https://www.jianshu.com/p/111dcd1c0201

编译器的问题吗
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-20 11:23:11 | 显示全部楼层

        编译器没有任何问题,是你自己的问题,因为,没有人这么定义变量,你这是在声明,而不是在定义变量,你的这种写法,编译器不会为 m 分配内存空间,而按照你的预期,是必须要分配到的,这就是你代码的问题所在。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-5-7 13:57

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表