c语言中s[i]!=✀✀&&(s[i+1]==✀✀||s[i+1]==✀尀0✀)是什么意思?

2025-04-16 05:43:56
推荐回答(2个)
回答(1):

这是两个条件:

  1. 第i(如果i从1开始)个非空格字符后跟一个空格。

  2. 或者第i+1个字符是字符串结束标记。

这条代码的意思是这两个条件之一成立即可。

知识延展:

  1. &&:逻辑与,前后条件同时满足表达式为真。

  2. ||:逻辑或,前后条件只要有一个满足表达式为真。

  3. &:按位与。

  4. | :按位或。

区别:

  1. &&和||是逻辑运算,&与|是位运算。

  2. “&&”跟“|”没有关系,在用“||”的地方一般也可以用|代替,但是用“|”的地方不能用“||”代替。

回答(2):

复合赋值运算符共 10种
+= 加赋值
-= 减赋值
*= 乘赋值
/= 除赋值
%= 求余赋值
&= 按位与赋值
| = 按位或赋值
^= 按位异或赋值
<<= 左移位赋值
>>= 右移位赋值
构成复合赋值表达式的一般形式:
变量 双目运算符=表达式
它等效于
变量=变量 运算符 表达式
s+=i,等价于s=s+i,使用加赋值
不但可以让代码更加简洁,而且能提高程序的运行效,提高程序的运行速度

*(s+i)就是取s上第i个元素的值,等同于s[i]。

'\0'为转义字符,其ascii码值为0,在C语言中,是约定的字符串结束符。

!=代表逻辑不等于运算,当!=两侧值相等时,值为假,否则值为真。

于是,这个表达式就是判断s上第i个元素是否为字符串结束符,如果是则表达式为假,否则表达式为真。