结合一道面试题
判断这段代码的输出是什么
这个判断条件是 先执行b[i++]!=4 再执行 a =
a的真假是循环的持续条件
注意:i++的结合顺序是从左到右,所以b[i++]这个下标是先取i的值,i再进行自加。++i操作顺序相反
i初始化为1
第一次循环 :
b[i++]=3
b[i++]!=4为真
a = 1
sum = 1;
第二次循环:
b[i++]=5
b[i++]!=4为真
a = 1
sum = 2;
第三次循环:
b[i++]=6
b[i++]!=4为真
a = 1
sum = 3;
第四次判断:
b[i++]=4
b[i++]!=4为假
a = 0
出循环
sum = 3;
这张表是百度百科的C语言运算符执行顺序,在OC等其他语言通同样适用。和大家一起加强日常记忆,让这些东西烂熟于心。
优先级
|
运算符
|
名称或含义
|
使用形式
|
结合方向
|
说明
|
1
|
[ ]
|
数组下标
|
数组名[整型表达式]
|
左到右
|
|
( )
|
圆括号
|
(表达式)/函数名(形参表)
|
|||
.
|
成员选择(对象)
|
对象.成员名
|
|||
->
|
成员选择(指针)
|
对象指针->成员名
|
|||
2
|
-
|
负号运算符
|
-表达式
|
右到左
|
单目运算符
|
(类型)
|
强制类型转换
|