|
代码:
#include "lrs.h"
vuser_init()
{
typedef unsigned short int uint16_t;
typedef unsigned long int uint32_t;
uint16_t a;
uint32_t b;
int i;
lrs_startup(257);
a=0;b=0;
a--;b--;
lr_output_message("a INFO==>%i,%i",sizeof(a),sizeof(b));
for (i=1;i<10;i++) {
lr_output_message("INFO==>%i,%i",a,b);
a++;b++;
}
return 0;
}
执行结果:
vuser_init.c(13): a INFO==>2,4
vuser_init.c(15): INFO==>65535,-1
vuser_init.c(15): INFO==>0,0
vuser_init.c(15): INFO==>1,1
vuser_init.c(15): INFO==>2,2
vuser_init.c(15): INFO==>3,3
vuser_init.c(15): INFO==>4,4
vuser_init.c(15): INFO==>5,5
vuser_init.c(15): INFO==>6,6
vuser_init.c(15): INFO==>7,7
问题:
vuser_init.c(15): INFO==>65535,-1
a的输出是我们预想的。
但是b 定义为uint32_t为什么会等于-1? |
|