我没有运行,但发现了一个错误。你的数组t是在fun函数中定义的,fun函数执行完毕后,数组t的内存就被释放掉了。在main函数中访问一个不存在的内存地址肯定会出问题。你可以把t赋给s,然后返回s.
你那个t[]是局部变量,它在返回时产生一个临时变量,这个临时变量返回后,就会消失,所以你主调函数中的指针是空的,没有地址。
解决办法有将t[]类型改成static char t[80];或者将t[]变成全局变量
算法没仔细看,但你在fun里返回局部变量,这就是问题,改成动态分配.
rog占三个字符的位置,你需要用个二维数组之类的,以前做过过,c++的