c++ 字符串长度问题

如下两段代码,两个问题:

1.a的长度为什么是3?

2.第二段代码(第一行打印行)为什么打印不出b长度?

int main() {
    char b[10]= "";
    char *a=b;
    char *c;
    cout <<strlen(c)<<strlen(a)<<endl;
    cout<<strlen(b)<<endl;

    return 0;
}
int main() {
    char b[10]= "";
    char *a=b;
    char *c;
    cout <<strlen(c)<<strlen(a)<<strlen(b)<<endl;
    cout<<strlen(b)<<endl;

    return 0;
}

 

strlen(c)因为c未赋值通常会报错,即便不报错,后面输出通常也不对

strlen(a)长度是0