为什么scanf_s回车无法结束

我看了别的基本都是因为\n,所以我的这个到底是为什么啊
朋友们可以救一下吗,谢谢感激不尽!

img

img

第一个for下面的2句忘记打括号了 {}
for下面不打括号只包含一句,所以此时i=3,而你只给a[0],a[1],a[2]赋值了,for结束时i=3,执行print你的a[i] 相当于将a[3]输出,无意义。
至于你的输入45回车5421回车,此时a[0]=45 a[1]=5421,然后你此时又输入了一个 回车 ,这个回车不会被读进去作为a[2],因为a[2]只接受%d,所以直到你再次输入22时a[2]才得到了值等于22。

望采纳,参考这个

img

这段代码,首先是连续输入3个整数,输入的三个数之间可以以空格间隔,或以回车换行间隔。
printf("已输入%d\n", a[i]); 这里输出a[i] ,此时 i = 3, a[3] 为一随机数。

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

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