在C中验证长long Int表现异常

时间:2012-05-01 15:39:38

标签: c validation long-long

我正在编写一个MPI程序,其中0级从文件中读取参数,并使用MPI_BCAST在所有其他级别上广播参数。

我试图验证在C中获得的长整数是否为非零,而我可以验证变量是否为非零,但是我无法验证反转。 (我已将变量初始化为零)。我已经验证广播确实可以正常工作,但我无法验证

if ((min_length==0LL) || (max_length==0LL) || (stride_length==0LL) || (nflops == 0LL))

虽然我可以证实其相反,即

if ((min_length!=0LL) || (max_length!=0LL) || (stride_length!=0LL) || (nflops != 0LL))

只是为了清除这些东西,没有值为零,如果获得的任何值为零,我的程序需要终止。

提前谢谢。

1 个答案:

答案 0 :(得分:2)

使用de Morgan是想反转/否定你的情况

if (min_length!=0LL && max_length!=0LL && stride_length!=0LL && nflops != 0LL) {
}

http://en.wikipedia.org/wiki/De_Morgan%27s_laws