这样的比较也没问题 但是用户输入时间必须要统一格式 比如你等待比较的是20180224 那么你输入的时间必须也得是20180205也就是输入格式必须一致 YYYYMMDD
这样比较就不会有错 你在处理的时候还得对输入的时间进行格式以及输入的数据是否正确才行。
关于比较字符串函数strcmp()
5书中介绍
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条回答
为你推荐
- C++宏定义字符串,再将宏与相同的引号引起来的字符串“123”比较时,会有问题吗?
- c++
- 5个回答
- 如何通过重载运算符+=,实现两个字符串的拼接?
- c++
- 3个回答
- 如何修复已被错误的字节计数长度破坏的序列化字符串?
- (重现strcmp函数)为什么结果不是1?是字符串的输入有问题吗?
- c语言
- 2个回答
- 为什么运行刚打开的时候输入法老是自动跳到中文输入?为什么运行的结果是-79啊?字符的比较大小不是用ASCLL比较的吗?
- c语言
- 1个回答
- 请给我一个PHP字符串函数strcmp()的深入分析
- string
- function
- ascii
- php
- 1个回答
- c语言不用函数实现strcmp()输入相同字符串时比较不正确
- c语言
- 1个回答
- char类型二维数组储存的字符串不可以和char类型数据域数据元素直接比较?
- C语言实现字符串密码对比问题,恳请大佬帮忙
- 这个c语言里宏替换怎么实现啊
- printf
- c
- 宏
- 6个回答
- MFC中CMap的使用问题。
- c++
- mfc cmap
- char字符串
- 5个回答
- 这样使用qsort函数对吗?为什么调用后不起作用
- c
- 3个回答
- 关于比较字符串函数strcmp()
- c
- 字符串
- 6个回答
- hash_map 自定义hash函数出错
- hash
- 自定义比较函数
- 和哈希函数
- 2个回答
- C++问题:比较两个C风格的字符串,哪里错了,输出都是equal
- c++
- 2个回答
- 编写一个字符串对比函数,为什么for循环不对?
- 1个回答
- C++str类函数问题,求解!
- 新手
- c++
- 函数
- 3个回答
- C++小白来提问关于strcmp的问题
- c++
- 5个回答
- C语言 字符串指针排序函数
- c
- 二维数组
- 指针
- 冒泡排序
- 3个回答
- 用指针对字符串排序的问题,内存访问非法(续2)
- 排序算法
- c++
- 指针数组
- 4个回答