跳过第三个,直接让我输入第四个信息

img

img


img

代码什么都正确,也能运行成功,就是输入信息的时候,第三个跳过,无法输入,直接输入第四个信息,哪个高人知道为什么!

结构体中,sex后面的几个都是char,输入回车的时候,被赋值给下面的字段了。
一种方法是:把结构体中sex及其后面的char都改成char数组。
第二种方法是:在输入前先清空输入缓存。

输入有缓存吧。你的结构定义有问题啊,性别,身份证号和房间号都应该定义为数组才行。
性别你输入的是中文,中文不止一个字节,但你结构里sex只有一个字节,导致第二个字节直接被身份证号变量接收掉了,所以就不需要你再输入了。修改如下:

typedef struct _Zhuhu
{
    char name[20];
    char sex[4];
    char Zhu_Num[19];
    char room_num[10];
}Zhuhu;

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632