C代码枚举命名冲突原因?
本文介绍了C代码枚举命名冲突原因?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
#include <stdio.h>
enum coordinate_type { RECTANGULAR = 1, POLAR };
int main(void)
{
int RECTANGULAR;
printf("%d %d\n", RECTANGULAR, POLAR);
return 0;
}
Error
:
warning: ‘RECTANGULAR’ is used uninitialized in this function [-Wuninitialized]
printf("%d %d\n", RECTANGULAR, POLAR);
编译出来的文件执行结果是:0 2
,原因是什么?`OS
: LinuxMint 17GCC
: version 4.8.4
解决方案
C语言枚举的实质是整数,SO
int RECTANGULAR = 1;
int POLAR = RECTANGULAR+1;
.. main(){
int RECTANGULAR;
printf("%d %d\n", RECTANGULAR, POLAR);
}
现在,想想你打印的是哪个变量?
其实就是局部变量和全局变量的关系了,同名时肯定是用的局部变量
这篇关于C代码枚举命名冲突原因?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文