Tag: 比较

如何比较“月日期hh:mm:ss”格式的两个时间戳来检查+ ve或-ve值

我检查了stackoverflow网站的答案,我没有得到,所以我在这里发布。 我的问题是: 如何比较格式”Month Date hh:mm:ss”两个时间戳? 我用C和C ++编写程序,时间是可显示的字符串格式。 示例: time1 = “Mar 21 11:51:20” time2 = “Mar 21 10:20:05” 我想比较time1和tme2并找出time2是否在 time1 之后 ,我需要输出为true或false ,如下所示: if time2 > time1 then i need output as 1 or 0 or -1 anything 我使用了difftime(time2,time1) ,但是它返回了time1和time2之间的delta时间diff 。 我想检查更大或没有。 如有任何帮助,请提前感谢

浮点比较`a!= 0.7`

可能重复: 浮点比较中的问题 #include #include main() { float a = 0.7; if(a < 0.7) printf("C"); else printf("C++"); } 在上面的代码中,输出是C 我在Code :: Blocks和Pelles C中尝试了这段代码,但得到了相同的答案。 我想详细了解这个的原因!

与最相似的字符串进行字符串比较

有没有人知道如果存在给定一个字符串A和字符串B数组的算法,则将A字符串与B中的所有字符串进行比较,使输出中的字符串最相似。 对于“最相似的”,我的意思是,例如, 如果A字符串是:“hello world你好吗” 然后 “asdf asdewr你好世界怎么asfrqr你” 比以下更相似: “h2ll4 w1111 h11 111 111”

比较unsigned char和EOF

当编译以下代码时,它进入无限循环: int main() { unsigned char ch; FILE *fp; fp = fopen(“abc”,”r”); if(fp==NULL) { printf(“Unable to Open”); exit(1); } while((ch = fgetc(fp))!=EOF) printf(“%c”,ch); fclose(fp); printf(“\n”,ch); return 0; } gcc编译器也会在编译时发出警告 abc.c:13:warning: comparison is always true due to limited range of data type 当unsigned char被char或int替换时,代码运行正常,即它终止。 但代码也适用于unsigned int 。 因为我已经读过EOF在stdio.h定义为-1然后为什么这个代码对unsigned char失败但是对unsigned int运行正常。

比较C中的浮点数

我有一个打印为0.000000的double ,我试图将它与0.0f进行比较, 0.0f成功。 为什么这里有区别? 什么是最可靠的方法来确定你的双倍是零?