请耐心等待,这是我的第二个 stackoverflow 问题,如果我做错了,请指出正确的方向
我有两个日期作为字符。
我打印出日期:
printf("%s - %s\n",tmpPtr->date, currentDate);
我有一个 总是 执行的 if 语句
if(tmpPtr->date != currentDate) { // perhaps strcmp(), don't know
printf("Dates are not equal\n");
}
但这不可能是真的,因为这些是我的结果:
27/12/2015 - 27/12/2015
Dates are not equal
27/12/2015 - 27/12/2015
Dates are not equal
28/12/2015 - 27/12/2015
Dates are not equal
29/12/2015 - 28/12/2015
Dates are not equal
29/12/2015 - 29/12/2015
Dates are not equal
29/12/2015 - 29/12/2015
Dates are not equal
30/12/2015 - 29/12/2015
Dates are not equal
31/12/2015 - 30/12/2015
Dates are not equal
31/12/2015 - 31/12/2015
Dates are not equal
这不可能是真的,因为有些日期是相等的?
我是否正确地比较了字符串?它只是比较内存分配还是类似的东西?
最佳答案
为了比较字符串,像这样使用 strcmp()
:
if (strcmp(tmpPtr->date,currentDate) != 0) {
printf("Dates are not equal\n");
}
关于将两个日期作为 C 中的 char 数组进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36357245/