用scanf输入一个字符串一个字符时,为什么要我手打\0才会结束输入

vs2022下,用scanf输入一个字符串一个字符时,为什么要我手打\0才会结束输如

struct informationTable {
int Student_ID;
char name[30];
char sex;

};
int main() {
struct informationTable s;
printf("请输入一个学生的信息\n");
scanf("%d%s %c\n",&s.Student_ID,s.name,&s.sex);//name已经是数组名,储存的已经是地址了
printf("%d %s %c\n", s.Student_ID, s.name,s.sex);
return 0;
}

例如我输入 1000 xiaoming M 但是scanf没有结束,我还得打\0然后才会打印出来

\n吧,你scanf里写了个\n