【求助】C语言中sizeof使用错误

2019-07-15 09:23发布

今天在使用sizeof判断待处理字符串的长度时出现了错误。为了发现错误在哪儿,对sizeof单独进行了验证。
对于sizeof的用法网上资源很多,其返回结果类型是size_t,它在头文件中typedef为unsigned int类型。

源代码

#include <reg52.h>
#include <stdio.h>
#include <intrins.h>
#include <string.h>

void        mInitSTDIO( )
{
        SCON = 0x50;
        TMOD = 0x21;
        TH1 = 0xfd;  /* 11.0592MHz, 9600bps */
        TR1 = 1;
        ti = 1;
}
void main()
{
unsigned char string1[6];
mInitSTDIO();
printf("output ");
printf("%d",sizeof('c'));
printf("%d",sizeof(string1));
while(1);
}

利用串口助手接收printf函数输出数据,按理说输出数据依次为:
output
1
6
但结果是
WechatIMG48.jpeg s 想不明白到底哪里出错了

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。