2013-07-23 87 views
-5

我运行下面的代码,但得到的控制台屏幕上没有输出没有输出。请解释:代码给出了控制台

#include <stdio.h> 

void main() 
{ 
    enum days {sun,mon,tue,wed,thru,fri,sat}; 
} 
+0

你在控制台上写下任何东西。试试'printf(“Hello world!\ n”);' – VoidPointer

+0

你还没打印任何东西。你怎么能期待输出到屏幕:) –

+2

欢迎来到C编程世界! http://cplus.about.com/od/introductiontoprogramming/p/enumeration.htm – P0W

回答

3
#include <stdio.h> 
int main() 
{ 
    printf("sun, mon, tue, wed, thru, fri, sat\n"); 
    return 0; 
} 

难道这就是你想干什么?

+5

最后添加'\ n'会更好,因为'stdout'是行缓冲的。 –

+0

哦,非常小的错误,我明白了。谢谢你们:) –

+0

不,我试图打印所有日子的价值sun = 1,mon = 2 ... sat = 7。像这些。 –

3

枚举被用作用户定义的数据类型。您可以使用以下语法创建自己的数据类型。枚举可以用来设置命名整型常量的集合。

enum datatype_name {val1,val2,val3,...,valN}; 

默认枚举值将从0。这里产生,

val1=0; //val1 is a named constant holding value 0 
val2=1; //val2 is a named constant holding value 1 
valN=N-1; //valN is a named constant holding value N-1 

支票默认枚举行为下面的代码。

#include<stdio.h> 
//Define user defined data type. Here days is the datatype. sun,mon,...,sat are named constants. 
enum days{sun,mon,tue,wed,thu,fri,sat}; 
int main() 
{ 
    printf("%d",wed); //wed is a named constant with default value 3 
    return 0; 
} 
Output: 3 

初始化enum的自定义值。

#include<stdio.h> 
enum days{sum=100,mon=200,tue=300,wed=400,thu=500,fri=600,sat=700}; 
int main() 
{ 
    printf("%d",wed); //wed is a named constant with user defined value 400 
    return 0; 
} 
Output: 400 

您可以创建一个布尔值枚举。

enum boolean{ false,true}; 
int main() 
{ 
    printf("false=%d",false); //false is constant that holds default value 0 
    printf("\ntrue=%d",true); //true is constant that holds default value 1 
    return 0; 
} 
Output: 
    false=0 
    true=1 
+1

最后一个例子可能会导致编译时错误,如果有人还包括C99 stdbool.h其中虚实是定义为宏(0和1)我认为。 – maverik

+0

@maverik是对的。它只是使用stdbool.h的替代方法。 –