注册 登录
编程论坛 C++教室

enum abc{a1,a2,a3,a4}; abc x; cout<<x; 为什么得到的结果是-858993460?

helloworld22 发布于 2008-11-19 22:24, 3166 次点击
#include <iostream>
using namespace std;
enum abc{a1,a2,a3,a4};
int main()
{
    abc x;
    cout<<x;
    }
5 回复
#2
helloworld222008-11-19 22:29
是不是没有赋值的变量,默认值都是那个数?
#3
zqm02092008-11-20 11:25
声明了一个枚举型变量x,但没有给变量x赋值,也就是定义了一个局部变量没有初始化,返回的值就是不确定的。
#4
heibai2008-11-20 12:54
#include <iostream>
using namespace std;
enum abc{a1,a2,a3,a4};
int main()
{
    abc x;
    cout<<x;
    }
这个程序肯定不能编译,少了一个语句
#include <iostream>
using namespace std;
enum abc{a1,a2,a3,a4};
int main()
{
    abc x;
    cout<<x;
return 0;
    }
#5
newyj2008-11-20 13:04
不加 return 0; 的话 默认情况下 编译器 是会自动加上的
#6
myelio2008-11-21 08:55
如果加上一句给x的赋初值就应该可以了吧例如
#include <iostream>
using namespace std;
enum abc{a1,a2,a3,a4};
int main()
{
    int x;
    abc x=a1;
    cout<<x;
    }
1