gpt4 book ai didi

c - 当达到 char 值时,我的 struct c 编程崩溃了

转载 作者:行者123 更新时间:2023-11-30 19:06:54 26 4
gpt4 key购买 nike

#include<stdio.h>

int main()
{
struct MyBookPrice//tag
{
int bookid; //struct member1
int price; //struct member2
char pubdate; //struct member3

}bookstruct;

//assign value to the struct..
bookstruct.bookid;
bookstruct.price;
bookstruct.pubdate;

printf("\nGive new value to book ID: ");
scanf("%d",&bookstruct.bookid);

printf("\nGive new value to book Price: ");
scanf("%d",&bookstruct.price);

printf("\nGive new value of book Published Date: ");
scanf("%s",&bookstruct.pubdate);//should be like 20/12/2017

//accessing and display struct
printf("\n New Labell = %d",bookstruct.bookid);
printf("\n New Label2 = RM%d",bookstruct.price);
printf("\n New Label3 = %s",bookstruct.pubdate);

system("pause");
return 0;
}

大家好,从上面的代码来看...我可以执行该程序...并且我可以成功输入 bookstruct.bookid、bookstruct.price 和 book.pubdate 的 scanf 值...但是当它下降时显示数据回来...它只显示了 bookstruct.bookid 和 bookstruct.price 的值并且..最终崩溃了..没有显示 bookstruct.pubdate 的值..

在我使用 dev-C++5.11 之间..你们可以帮我吗...我是不是在某个地方错了..提前谢谢你..

最佳答案

pubdate 是单个 char,因此无法读取超过 1 个字符。

因此,您的代码的行为是未定义

另一种方法是使用 char[] 以及该成员的一定数量的元素。请参阅Char arrays and scanf function in C

关于c - 当达到 char 值时,我的 struct c 编程崩溃了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47412458/

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