C++;if语句解释混乱 我是C++新手,有时我很难理解复杂的if语句,有人能帮我解释下面的代码吗?提前谢谢。 鉴于: int-vis[25]、g[25][25]、Ty[25][25]; 对于(int i=1;i
Vis[]是一个数组,仅初始化,目前没有任何赋值。 那是什么呢!我的意思是? 它的意思是vis[i]=0或vis[i]==1或其他什么?C++;if语句解释混乱 我是C++新手,有时我很难理解复杂的if语句,有人能帮我解释下面的代码吗?提前谢谢。 鉴于: int-vis[25]、g[25][25]、Ty[25][25]; 对于(int i=1;i,c++,if-statement,operator-keyword,boolean-operations,C++,If Statement,Operator Keyword,Boolean Operations,Vis[]是一个数组,仅初始化,目前没有任何赋值。 那是什么呢!我的意思是? 它的意思是vis[i]=0或vis[i]==1或其他什么? int只有在0时才是false。这意味着对于任何其他数字,字符串都是true A会将其否定 因此,如果检查: 位置i上的数组vis必须为0 !vis[i]==!(vis[i]!=0)==vis[i]==0 x,i上的g的数组值必须为一 位置f,i上的Ty数组不能等于n 声明3个数组。“vis”是大小为25的一维数组,“g”是大小为25x25的二维数组,与“T
只有在int
时才是0
。这意味着对于任何其他数字,字符串都是truefalse
- A
逻辑语句前面的code>会将其否定
i
上的数组vis
必须为0
!vis[i]==!(vis[i]!=0)==vis[i]==0
x
,i
上的g
的数组值必须为一f
,i
上的Ty
数组不能等于n
*注意-正如drescherjm在一篇评论中所指出的,for循环应该只增加到24,因为数组的大小在任意方向上都是25,所以访问范围在0-24(包括0-24)之外的元素你的C++教科书在主题上有什么要说的?这是任何体面教科书所涵盖的基本语言结构。请掌握并学习该语言的基础知识。从长远来看,这比回答这个具体问题更有帮助。
int-vis[25]
thenfor(int i=1;i<30;i++)
thenvis[i]
是一个bug<对于25个元素的数组,code>i必须介于0和24之间。实际上,1表示-vis[i]==0
,并且不能为空,因为vis[i]
不是pointer@Slava哦,对了。它不是null
,而是0
。我会更正它。1表示vis[I]
必须等于0,而不是相反around@Slava绝对正确。。。我不知道我在想什么。。。
int vis[25], g[25][25], Ty[25][25];
for (int i = 1; i < 30; i++)
{
if(!vis[i] && g[x][i] == 1 && Ty[f][i] != n) {...}
}
int vis[25], g[25][25], Ty[25][25];
if(!vis[i] && g[x][i] == 1 && Ty[f][i] != n) {...}