c语言问题,a=(--i==j++)?--i;++j;这句话是什么意思,两个==是什么意思?

Python016

c语言问题,a=(--i==j++)?--i;++j;这句话是什么意思,两个==是什么意思?,第1张

“==”是相等的意思,和数学中的“=”一样的,但是C语言中的“=”是赋值的意思,就是把等号后面的值给前面的数,“?”是判断运算符,当“?”前面的运算成立时,执行--i,不成立时执行++j,这里说的运算成不成立,就是看“--i==j++”成立不,还有就是j++和++j的区别,j++是自己先参与运算,在自身加1,而j++是先自身加1在参与运算,同理i--也是这样的,所以i--==j++是i-1==j,

然后j在加1,所以这句话的意思就是,你先判断i-1是否等于j,如果等于,a=--i,如果不等于,a=++j。但是一定要记住,在你做判断的时候,i的值和j的值都已经变了,所以后面的i和j的值已经不是初始值了。手打,要尊重

不一样,=不是我们平时计算数学中的“=”的意思。这里的=号是赋值号的意思,意思是将等号后面的变量值赋值给等号前面的变量。所以这两个的意思是

m=n,将n的值赋值给m

n=m,将m的值赋值给n

这里并不是说m和n相等的意思。在c语言中,表示两者相等的等号是==,这是表示两个数字相当,当要比较两个字符串是否相等时,就要用strcmp这个函数来确定了