为什么使用两个gets,要输出三行


#include<stdio.h>
#include<stdlib.h>
int main()
{
    int x,y;
    char a[100],b[100];
    gets(a);
    scanf("%d",&x);
    gets(b);
    scanf("%d",&y);
    if(x>y)
    puts(a);
    else
    puts(b);
    return 0;
}

img

gets输入字符串,按回车才会结束。另外在字符中数字也是字符,会将数字包含在字符串中。
可以写成scanf("%s %d",&a,&x); scanf("%s %d",&b,&y);

gets()遇到回车才结束,会读取一整行