一个关于字符数组的问题

#include <stdio.h>
int main()
{
char a[60];
int i;
for(i=0;a[i]!='\n';i++)
{
scanf("%c", &a[i]);
}
printf("%s", a);
return 0;
}
为什么要不断输入,这个for循环为什么会是死循环,没理由啊,我每次都按回车了啊,求大神解答

条件应该改为a[i-1]!='\n',因为你输入一个数后,他接下来会i加一,导致你的a[i]不可能等于换行符,从而死循环