递归的分形宇宙,编译直接是错误的,但是我不知道该怎么改

#include<stdio.h>
void fun(int x);
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
fun(n);
return 0;
}
}
void fun(int x)
{
if(x==1)
{
char a='X';
printf("%c",a);
}
if(x>=2)
{
char a=fun(x-1);
printf("%c %c\n",a,a);
printf(" %c \n",a);
printf("%c %c\n",a,a);
}
return;
}

img

img

img

不能直接把fun函数放在printf格式化输出里,因为fun返回值并不是char类型,是void,编译自然会报错了。