char b[20];---少了分号呢
for循环有问题,for(i=i-1;i>=0;i--),不然第一次循环时,a[i]就是\0啊,当然b[0]就是\0了
%s的输出是以\0结束的,你的b[0]=‘\0’,在printf的时候,程序就认为一开始就结束了,后面的内容也就不打印了。你的for循环里的第一个参数i-1没有修改i的值,应该是i=i-1。如有帮助,请采纳一下,谢谢。