字符数组与字符串输出的问题
#include <stdio.h>
int main(int argc, char *argv[])
{
char c[4]={'a','b','c','d'};
char d[]={'a','b','c','d'};
char e[] = "abcd";
int sc = sizeof(c);
int sd = sizeof(d);
int se = sizeof(e);
printf("sc:%d sd:%d se:%d\nc:%s\nd:%s\ne:%s\n",sc,sd,se,c,d,e);
getchar();
return 0;
}
上面这段程序在win-tc中的输出结果是
sc:4 sd:4 se:5
c:abcdabcdabcd
d:abcdabcd
e:abcd
为什么c和d会连续输出abcd那