c语言陷入死循环,应该怎么改呢?拜托拜托,求大佬解答 20

求大佬查错,代码如下voidGetDaysOfDate()//得到日期{intsYear=0,wMonth=0,wDay=0;system("cls");printf_s... 求大佬查错,代码如下void GetDaysOfDate()//得到日期{ int sYear = 0, wMonth = 0, wDay = 0; system("cls"); printf_s("◆1. 输入任意公历日期,查询该日期距离今天数\n\n"); int ret = 0; struct tm *ptr; time_t it; it = time(NULL); ptr = localtime(&it); do { printf_s("请输入公历日期,年 月 日:>"); scanf_s("%d %d %d", &sYear, &wMonth, &wDay); ret = DateCheck(sYear, wMonth, wDay); if (ret != 0) { printf_s("\n您的输入有误,"); } else { int days = day_diff(sYear, wMonth, wDay, ptr->tm_year + 1900, ptr->tm_mon + 1, ptr->tm_mday); if (days < 0) ret = 0; else { printf_s("日期%4d年%02d月%02d日距离今天(%4d年%02d月%02d日) %d天\n", sYear, wMonth, wDay, ptr->tm_year + 1900, ptr->tm_mon + 1, ptr->tm_mday, days); } } } while (ret == 0); system("pause"); 展开
 我来答
匿名用户
2020-11-14
展开全部
1、DateCheck()函数是否处理有问题
2、输入要英文模式下数字,
3、单步骤调试一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
arongustc
科技发烧友

2020-12-21 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:5693万
展开全部
你是怎么输入的?从scanf_s的写法,应该是三个空格隔开的数字对于软件错误,绝大多数是不可能根据代码看出来的,一个程序员的基本只能是调试。你需要在DateCheck函数入口处设一个断点,看看输入的值到底是多少,然后DateCheck返回失败
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
woai601111

2020-11-14 · TA获得超过6623个赞
知道大有可为答主
回答量:1.2万
采纳率:46%
帮助的人:660万
展开全部
不要重复一个命令,要根据自己脚本设计,需要用不同指令来完成自己的指令。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友cfe0b48
2020-11-14
知道答主
回答量:4
采纳率:0%
帮助的人:2080
展开全部
正确的做法是Ctrl+Break,然后修改程序。重新运行后它问你是否重新编译,按是“Y”。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式