为什么不能逐个输出字符,而是从三个到两个再到一个呢

这不应该是逐个输出字符串嘛,为啥从输出三个到一个递减呢,难道是malloc的问题吗,求帮忙

img

因为输出的时候是a + i,字符串的首地址是依次递增的

你就创建了一个数组而已。只是输入的数组起始位置不同罢了。

%s是字符串,如果你需要输入和输出是字符的话,建议两个%s改成%c
然后 printf("%c\n", a[i]);

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^