我正在阅读有关NaN
here的内容,并说:
与NaN的比较始终返回无序结果,即使是 与自身比较。
我对无序这个词感到困惑。出于实际原因,这是否意味着比较将始终评估为false
?似乎是这样的:
// all statemens below evaluate to false
NaN === NaN
NaN > NaN
NaN < NaN
NaN > 3
NaN < 3
NaN === 3
答案 0 :(得分:2)
是。比较两个浮点数a
和b
时,将会有4个结果中的一个:
a
小于b
a
等于b
a
大于b
a
和b
无序。 IEEE754规范指出,当a
或b
为NaN时,a
和b
无序(包括a
和b
的情况<
是NaN)。
在大多数语言中,前3个语言都有自己的谓词(通常为==
,>
,void list_dir(char **dirp_array)
{
char *dir_name = "./";
DIR *dp;
struct dirent *dirp;
if ((dp = opendir((const char *)dir_name)) == NULL){
perr_exit("opendir errno");
}
while((dirp = readdir(dp)) != NULL){
(* dirp_array) = strdup((char *)dirp->d_name);
printf("%s\n",(* dirp_array));
dirp_array ++;
//dirp_array += strlen(*dirp_array);
}
*dirp_array = NULL;
closedir(dp);
}
)。无序案例没有,但可以通过检查所有其他案例是否为假来进行测试。