char *c;
fflush(stdin);
c=(char*)malloc(sizeof(char)*5);
printf("alone char size is: %d\n",sizeof(char));
printf("size of front: %d\n",sizeof(c));
gets(c);
//fflush(stdin);
printf("size of later: %d\n",sizeof(c));
printf("c: %s",c);
上述代码,我定义了一个字符指针,并且使用malloc为指针分配了5个大小,然后对指针大小进行打印,结果不是分配给它的5,而是8。而且,再使用gets函数输入了超过5个字符并回车后,打印c,结果也不是5个字符,我不知道咋回事了。截图如下
希望朋友们可以帮帮忙。