我知道有一个关于 !
in C 的解释的线程,但我没有完全理解它,所以我们开始吧。根据我的理解,number!
将为非零数字返回 0,为 0 返回 1。我在网上看到了一些代码,为了确定矩阵是否为单位矩阵,人们使用了以下内容:
for (i = 0; i < row; i++)
{
for (j = 0; j < column; j++)
{
if (a[i][j] != 1 && a[j][i] != 0)
{
flag = 0;
break;
}
}
}
if (flag == 1 )
printf("It is identity matrix \n");
else
printf("It is not a identity matrix \n");
用户输入的矩阵大小和值是矩阵。我的问题是 !
标记如何帮助确定它是否是一个单位矩阵,如果它所能做的就是返回 1 和 0 的输入。是否有任何其他方法可以在不使用的情况下识别单位矩阵?
最佳答案
!
总是 返回一个 int(感谢 alk 指出这一点),在这种情况下它代表逻辑非并且只是补充一个 bool 表达式,如果一个 bool 表达式的计算结果为true
,比如boolean ex = true
then !ex
将解析为 false
(最后为 0),这是 true
的补充。
在比较的情况下,==
用于检查是否相等,!=
用于检查不等式,这两个结果在一个 boolean
值中,最终被评估为 int
。
关于c - C数组中的感叹号(单位矩阵),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42327245/