-
您的程序没有问题,此错误是因为您选择了错误的项目类型。 在创建一个新项目时,你应该选择创建一个控制台程序,即 win32 控制台应用程序,你可以选择 win32 应用程序或 mfc 程序。
这是因为 Windows GUI 程序的入口点是 WinMain,而不是 Main。 如果无法创建 GUI 程序,则程序条目是 main,则它必须是控制台程序。
-
我没有发现 VC6 有任何问题。 你使用什么编译器? 将 main 的返回类型更改为 int 并添加返回 1; 试试吧。
-
我尝试了这个程序,在我的机器上编译和调试它没有问题。
-
我编译,运行,显示 0,然后退出。
有问题吗?
-
如果一个变量只有几个可能的值,则可以将其定义为枚举类型。所谓“枚举”,是指对变量的值逐个枚举,变量的值仅限于所列值的范围。
声明枚举类型从枚举开始。 例如:
声明了一个枚举工作日,可用于定义变量。 例如:
也可以直接定义枚举变量,例如:
其中,sun、mon 、...,SAT叫枚举元素或枚举常量
注意: 1. 在 C 编译中,枚举的元素被视为常量,因此称为枚举常量。它们不是变量,不能赋值。 例如,sun = 7; mon = 1;是错误的。
2. 将元素枚举为常量具有价值。 C 按照定义它们的顺序编译它们,因此它们的值为 ......还可以在定义时指定枚举元素的值,例如:
3.枚举值可用于判断和比较。 例如:
4. 证书不能直接分配给枚举变量。 例如,workday=1; 是错误的。 缺乏论据,它们属于同一类型。 在分配值之前,应先进行强制类型转换。 例如:
它等效于将序号为 2 的枚举元素分配给 workday,这相当于。
-
enum colour colour_t;
颜色 t 的值可以等于宽、红色、绿色或蓝色的任何一个冰雹。
typedef enum colour colour_t;
colour_t col;
col 的值可以等于红色、绿色或蓝色中的任何一个。
注意:如果未分配红色、绿色和蓝色,则默认值为 red=0、green=1 和 blue=2;
-
C 枚举类型使用如下:
1) 枚举是集合中元素(枚举成员)的集合,这些元素被命名为整数常量,用逗号分隔。
2)day是一个标识符,可以看作是集合的名称,是一个可选项目,即一个可有可无的项目。
3)第一个枚举成员的默认值为整数的0,后续枚举成员的值与前一个成员相加1。如果没有对当前值的赋值,枚举类型的当前值始终是以前的值 +1
4)可以人为设置枚举成员的值,自定义一定范围内的整数。
5) 枚举类型是预处理指令定义的替代方法。
6)类型用分号定义;结束。
enum 是 C 语言中的一个关键字,enum 叫做枚举数据类型,枚举数据类型描述的是一组整数值(这句话其实不合适),枚举是预处理指令定义的替代,枚举和宏其实很像,宏在预处理阶段要用相应的值替换名称, 枚举,将名称替换为相应的值。
我们可以在编译阶段将枚举理解为宏,使用以下格式:
enum typename ;
typename 是枚举类型的名称,大括号中的元素(枚举成员)是常量而不是变量,这一点必须明确,因为枚举成员是常量,所以不能赋值,只能赋值给其他变量。
枚举是 C 语言中的一种基本数据类型,它使数据更简洁、更易于阅读。
-
之所以可以使用 foreach 语句遍历 C 语言中的数组和列表等空腔对象,是因为这些对象是可枚举类型,这些可枚举类型可以获取枚举器,枚举器可以自动获取对象中的每个元素。
什么是可枚举类型?
在 IENUMERABLE 中实现 getenumerator 方法的类型是 enumerable 类型,该类型从方法的名称中可以知道,用于获取枚举器,枚举器包含有关集合中元素的信息。
什么是旅镇升降机?
IENUMERATOR 接口的实现是一个枚举器,它依次返回集合中的元素,具有一个属性和两个方法:
current,这是一个只读对象类型属性,可以返回任何类型,用于获取集合中的当前元素。 劈开,圆而厚。
movenext,这是一种将枚举编号推送到集合的下一个元素的方法,如果它已经是最后一项,则返回 false。
reset,这是一种将枚举数设置为其初始位置的方法,该位置位于集合中的第一个元素之前。
如果自定义类实现了可枚举类型接口和枚举器接口,则可以使用 foreach 语句遍历它。
实现可枚举类型
实现枚举器
使用 foreach 语句进行遍历。
上面用到的枚举类型接口和枚举器接口都是非泛型版本,ienumerable和ienumerator的泛型版本在C语言中用得比较多,使用方法也差不多,但还是有一些区别。
-
在实际编程中,有些数据的值往往是有限的,只有极少数的整数,最好给每个值起个名字,方便后续使用,比如一周只有七天,一年只有十二个月,一班一班每周六门课, 等。
例如,一周 7 天,我们可以使用 define 命令为每一天指定一个名称:
define 命令虽然解决了这个问题,但也带来了很多 ***,导致宏名太多,** 松散,总是有点让人看不上来。 C 语言提供了一个枚举类型列出所有可能的值并为其命名。
enum 是一个专门用于定义枚举类型的新关键字,这是它在 C 语言中的唯一用途; typename 是枚举类型的名称; valuename1, valuename2, valuename3, .是与每个值对应的名称的列表。 注意最后; 不少。
例如,列出一周中的几天:
如您所见,我们只给出名称,但不给出名称对应的值,因为枚举值默认从 0 开始,逐个添加 1(递增); 也就是说,星期一,星期二。sun 的对应值分别为 .。6。
我们还可以为每个名称分配一个值:
一种更简单的方法是仅为名字指定一个值:
此枚举以 1 为增量开始,这相当于上面的写入。
枚举是一种类型,您可以通过它来定义枚举变量:
还可以在定义枚举类型的同时定义变量:
使用枚举变量,可以将列表中的值分配给它:
或者:星期一、星期二、星期三用他们的数字代替。 这意味着mon、tues、wed等都不是变量,它们不占用数据区(常量区、全局数据区、堆栈区、堆区)的内存,而是直接编译到命令中并放入**区,所以不能用&来获取它们的地址。
这就是枚举的本质。
枚举变量需要存储一个整数,该整数的长度与 int 相同。
arr[i]=i;通过for循环将arr的值从0赋值到9,然后arr[i]的值不变,执行下一个for循环,k的值仍为0 ha,不变。 >>>More
标准规定int类型必须为16位以上,long类型必须为32位,在之前的16位机器中,这两个数据分别是16位和32位,但是进入x86时代后,实际上都是32位,int类型一般和处理器的位数相同, 表示两个内存的寻址空间。 >>>More