输出:p3+1=BCD,p4+1=BCD 本来以为输出应该是B int main(){ char a[5]={'A','B','C','D'}; char(*p3)[1]=&a; char(*p4)[1]=a; printf("p3+1=%s,p4+1=%s",p3+1,p4+1); return 0; } 另问:char(*p3)[1]=&a;匿名数组长度>=5时,是否溢出?请详细解释。
int main(){ char a[5]={'A','B','C','D'}; char(*p3)[1]=&a; char(*p4)[1]=a; printf("p3+1=%s,p4+1=%s",p3+1,p4+1); return 0; }
收起
试试printf("p3+1=%c,p4+1=%c",p3+1,p4+1);
报告相同问题?