2013-07-23 2 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

no Я пытался распечатать все дни по значению sun = 1, mon = 2 ... sat = 7. как это. –

3

enum используется как пользовательский тип данных. вы можете создать свой собственный тип данных, используя следующий синтаксис. enum может использоваться для установки набора именованных целых констант.

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 

Инициализация пользовательской величины для перечисления.

#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, где false и true определяется как макросы (0 и 1), я думаю. – maverik

+0

@maverik был правильный. Это просто альтернатива использованию stdbool.h. –

Смежные вопросы