whyyouhitme_ 2018-04-05 10:13 采纳率: 57.1%
浏览 3292
已采纳

关于比较字符串函数strcmp()

书中介绍
s1与s2的前i的字符一致,但是s1的第i+1个字符小于s2的第i+1个字符。函数会认为s1小于s2。例如“abc”小于“bcd”,“abd”小于“abe”。
能否理解为两个字符串的对应元素逐个比较,谁首先出现ASC码值小于对方的元素。就说:这个元素小于另一个元素?
例如:"abcdfeg"小于“z”“abcd”小于“abcccccccc”
以及“24 XXXXXXXXXX”小于“5”?
如果我理解的正确,那么有如下代码片段:
程序接收用户输入的日期和提醒,按时间顺序存储这些日期和对应当日的提醒,并输出。
for(i=0;i if(strcmp(day_str,reminders[i])
break;
for(j=num_remind;j>i;j--)
strcpy(reminders[j],reminders[j-1]);//把当前i标记的日期后面的所有字符串各自下移一行
strcpy(reminders[i]),day_str);
strcat(reminders[i],msg_str);//把此日期以及相应的提醒存入reminders[i]中
num_remind++;
请问下面这条语句的比较方法对吗?
if(strcmp(day_str,reminders[i]) 假设循环已经把第一条字符串“24 XXXXXXXXXX”存进了reminders数组中、
接下来的这条语句会把day_str(以字符串形式存储的下一个日期,我们假设是5)
拿来和reminders[i](也就是“24 XXXXXXXXXX”)进行比较。得出的结果应该是
“5”>“24 XXXXXXXXXX”。这样程序就不会把5号以及5号的提醒事项塞入数组了

  • 写回答

6条回答 默认 最新

  • Zip.huang 2018-04-06 05:03
    关注

    这样的比较也没问题 但是用户输入时间必须要统一格式 比如你等待比较的是20180224 那么你输入的时间必须也得是20180205也就是输入格式必须一致 YYYYMMDD
    这样比较就不会有错 你在处理的时候还得对输入的时间进行格式以及输入的数据是否正确才行。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度