以下代码中
char *inArr, unsigned int DanWh;
unsigned char DANWEIL,DANWEIH;DanWh=65534;
DANWEIL=LOBYTE(DanWh);
DANWEIH=HIBYTE(DanWh);执行完后,各变量数值如下:
DanWh=-2
DANWEIL=254
DANWEIH=255现在的问题是:
1、char *inArr, unsigned int DanWh;这个写法好象不正确,为什么编译的时候没有报错?2、char *inArr, unsigned int DanWh;这个写法好象不正确,这个 DanWh变量在这种情况下到底是被定义成了什么类型。3、如果DanWh=65534;被定义成了char型,这个DanWh=65534;为什么还可以正常执行?
char *inArr, unsigned int DanWh;
unsigned char DANWEIL,DANWEIH;DanWh=65534;
DANWEIL=LOBYTE(DanWh);
DANWEIH=HIBYTE(DanWh);执行完后,各变量数值如下:
DanWh=-2
DANWEIL=254
DANWEIH=255现在的问题是:
1、char *inArr, unsigned int DanWh;这个写法好象不正确,为什么编译的时候没有报错?2、char *inArr, unsigned int DanWh;这个写法好象不正确,这个 DanWh变量在这种情况下到底是被定义成了什么类型。3、如果DanWh=65534;被定义成了char型,这个DanWh=65534;为什么还可以正常执行?
红色的就是它的类型
char *inArr;
unsigned int DanWh;
unsigned char DANWEIL;
unsigned char DANWEIH;
VC6下的警告:F:\MYPROJECTS\D\D.cpp(33) : warning C4518: 'unsigned int ' : storage-class or type specifier(s) unexpected here; ignored
F:\MYPROJECTS\D\D.cpp(33) : warning C4228: nonstandard extension used : qualifiers after comma in declarator list are ignored
F:\MYPROJECTS\D\D.cpp(33) : warning C4101: 'DanWh' : unreferenced local variable
F:\MYPROJECTS\D\D.cpp(33) : warning C4101: 'inArr' : unreferenced local variable
F:\MYPROJECTS\D\D.cpp(34) : warning C4101: 'DANWEIL' : unreferenced local variable
F:\MYPROJECTS\D\D.cpp(34) : warning C4101: 'DANWEIH' : unreferenced local variable
抱歉,我1楼的回复没有看仔细。
VC10下直接报错不让通过的。