求解,为什么用str[i]!='\0'就可以正常输出,而用str[i]!='\n'就会乱码?

求解,为什么用str[i]!='\0'就可以正常输出,而用str[i]!='\n'就会乱码?

#include<stdio.h>
int main()
{
    char str[60];
    int i;
    gets(str);
    for (i = 0; (str[i] != '\n'); i++)
        printf("%c", str[i]);
    return 0;
}

img

img

因为'\0'是char类型数组的结束字符