为什么第二个print函数不能输出
#include<stdio.h>void main()
{
char a[]="Evil communication corrupt good manners!",b[40],*p1,*p2,*p3;
int i;
printf("String a is:%s\n",a);
p1 = a;
p2 = b;
for( ; *p1 != '\0'; p1++,p2++)
{
*p2 = *p1;
}
*p2 = '\0';
printf("String a is:%s\n",a);
printf("String b is:");
for( i=0; b[i] != '\0'; i++)
{
printf("%c",b[i]);
}
putchar('\n');
}