gpt4 book ai didi

c - 简单的 c scanf 没有读取和解析我的输入

转载 作者:行者123 更新时间:2023-11-30 18:43:46 24 4
gpt4 key购买 nike

我创建了Date struct来存储日期格式为datemonthyear,其输入为用户作为由空格分隔的单行字符串。

我想分割输入并相应地存储它。我使用简单的 C sscanf() 将输入拆分并存储在 struct Date 中。但是当我尝试打印我的数据时,它显示了一些垃圾值,我不知道缺少什么。

帮我解决这个问题。

我的代码:

Input: 24 Jan 1980
output: 24 ? -978635323

这是我的 C 代码。

struct Date 
{
int date;
char* month;
int year;
};

int main()
{
struct Date date[1];
char* string;
scanf("%s",string);
sscanf(string,"%d %s %d",&date[0].date,date[0].month,&date[0].year);
printf("%d %s %d",date[0].date,date[0].month,date[0].year);
return 0;
}

提前致谢。

最佳答案

这对我有用。你可以检查一下。

struct Date
{
int dat;
char month[20];
int year;
};

int main()
{
struct Date date[1];
char str[20];
scanf("%[^\n]%*c", str);
sscanf(str,"%d %s %d",&date[0].dat,&date[0].month,&date[0].year);
printf("%d %s %d",date[0].dat,date[0].month,date[0].year);
return 0;
}

关于c - 简单的 c scanf 没有读取和解析我的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60205816/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com