#include <stdio.h>
// create a struct to store users information
struct user
{
int ID;
char Username[50];
char DateBirth[50];
char Class[10];
};
int InputUser(){
int n;
int Date;
int Month;
int Year;
user u;
printf("\nName:");
gets(u.Username);
printf("\nID: ");
scanf("%d",&u.ID);
printf("\nClass: ");
gets(u.Class);
printf("\nDate: ");
scanf("%d",&Date);
printf("\nMonth: ");
scanf("%d",&Month);
printf("\nYear: ");
scanf("%d",&Year);
return 0;
}
我想输入用户的生日到结构char DateBirth[10];
,它将显示DD/MM/YYYY。示例:2023年4月19日。如何创建出生日期代码?代码在上面。
1条答案
按热度按时间shyt4zoc1#
问题编码
scanf("%d", ...
不会使用数字文本后的Enter〉或'\n'
,因此后面的gets()
或fgets()
将只读取"\n"
。备选
考虑使用
fgets()
来处理所有用户输入到 string 中的内容。然后解析字符串中的ID、Class等。请注意,自C11以来,
gets()
不再是标准C库的一部分。如果您的源材料建议使用gets()
,您应该获得更新的材料。