C语言,为什么getchar()语句后面加了scanf()语句,再用gets()或者printf()输出就为空?

问题遇到的现象和发生背景

gets和输出语句(gets和printf都一样)中间加了sacnf语句,之前用gets给数组赋予的字符串就为空了。

img


img

不是指针的原因,直接用数组也是一样的结果。

问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

同样的代码测试了一下,没有任何问题

不知道跟这个有没有关系,i定义应该是int