大佬帮忙分析一下程序吧,C语言小白

#include "stdio.h"
#include "string.h"
main()
{
char *str = "This is a string. ";
char *str1="This is another string.";
char string[100]="This is a string.";
printf("1 : str = %s\n",str);
printf("2 : str1 = %s\n",str1);
printf("3 : string = %s\n",string);
strcat( string, str );
printf("4 : string = %s\n",string);
str++;
printf("5 : str = %s\n",str);
str = "This is a NEW string.";
printf("6 : str = %s\n",str);
str = str1;
printf("7 : str = %s\n",str);
strcpy( str, string );
printf("8 : str = %s\n",str);
str = string;
printf("9 : str = %s\n",str);
strcat( str , " Why? " );
printf("10: str = %s\n",str);
}

你要分析啥啊,问的莫名奇妙