void write (unsigned char[]);
int main (void)
{
unsigned char led[]={0xf0,0x0f,0xff,0xfe};
write (led);
}
void write (unsigned char dat[])
{
int x;
while(1)
{
x=sizeof(dat)/sizeof(dat[1]); //为什么x=3,不是应该4吗?
}
}
答非所问
本回答被网友采纳在我这显示的是4
怎么会这样?keil 调试显示x=3.。。
追答你可以在x= ;把sizeof(dat)和sizeof(dat[1])打印出来看看是多少
追问我编写对象是单片机,不包含stdio.h,软件模拟运行确实是3,但是换成sizeof(led)是4,