请教这个C语言程序段的输出是什么?并请解释一上原因

请问这个C语言程序段的输出是什么?并请解释一下原因
main
{
int n;
char y[10] = "bask";
char *x = y; 
n = strlen (x);
*x = x[n];
x++;
printf ("%s",x);
}

------解决方案--------------------
*x = y;这一句指针指向了y[10] 这个内存区域,现在指针x所指的值为"bask"

*x = x[n];把x[4]的值也就是 结束符号 赋值给了*x所指地址的值,也就是说 现在指针x所指的内存中的值为
" ask" 空的那个是结束符,

然后x++也就是指针向前移动,或者可以理解为现在的指针指向的是b[1]的位置,
所有打印结果是ask

你可以查看一下b[]的值你就会发现 你打印的结果是空,因为b[0]已经变成一个结束符了