不理解答案,和我做的不一样

下列程序运行时输入“abcd<回车>”
int main(void) 
{char str[40];int i;
scanf("%s",str);
i=strlen(str);
whi1e(i>0)
{str[2i]=str[i]; str[2i-1]='*'; i--;}
printf("8s\n", str);}
return 0;}

printf("8s\n", str);就是显示8s
正确显示str写法printf("%s\n", str);

[2i]的写法也错误,应写为[2*i]

img

哪里不理解 贴出来