1.设有int i;则表达式i=1,++i,++i||++i,i的值为( ).A.1 B.2 C.3 D.42.设有int a[ ]={10,11,12},*p=&a[0];则执行完*p++;*p+=1;后a[0],a[1],a[2]的值依次是( ).A.10,11,12 B.11,12,12C.10,12,12 D.11,11,123.设有int i,j,k; 则表达
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/28 05:11:43
![1.设有int i;则表达式i=1,++i,++i||++i,i的值为( ).A.1 B.2 C.3 D.42.设有int a[ ]={10,11,12},*p=&a[0];则执行完*p++;*p+=1;后a[0],a[1],a[2]的值依次是( ).A.10,11,12 B.11,12,12C.10,12,12 D.11,11,123.设有int i,j,k; 则表达](/uploads/image/z/14058627-51-7.jpg?t=1.%E8%AE%BE%E6%9C%89int+i%EF%BC%9B%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8Fi%3D1%2C%2B%2Bi%2C%2B%2Bi%7C%7C%2B%2Bi%2Ci%E7%9A%84%E5%80%BC%E4%B8%BA%EF%BC%88+%EF%BC%89.A.1+B.2+C.3+D.42.%E8%AE%BE%E6%9C%89int+a%5B+%5D%3D%7B10%2C11%2C12%7D%2C%2Ap%3D%26a%5B0%5D%EF%BC%9B%E5%88%99%E6%89%A7%E8%A1%8C%E5%AE%8C%2Ap%2B%2B%3B%2Ap%2B%3D1%3B%E5%90%8Ea%5B0%5D%2Ca%5B1%5D%2Ca%5B2%5D%E7%9A%84%E5%80%BC%E4%BE%9D%E6%AC%A1%E6%98%AF%EF%BC%88+%EF%BC%89.A.10%2C11%2C12+B.11%2C12%2C12C.10%2C12%2C12+D.11%2C11%2C123.%E8%AE%BE%E6%9C%89int+i%2Cj%2Ck%3B+%E5%88%99%E8%A1%A8%E8%BE%BE)
1.设有int i;则表达式i=1,++i,++i||++i,i的值为( ).A.1 B.2 C.3 D.42.设有int a[ ]={10,11,12},*p=&a[0];则执行完*p++;*p+=1;后a[0],a[1],a[2]的值依次是( ).A.10,11,12 B.11,12,12C.10,12,12 D.11,11,123.设有int i,j,k; 则表达
1.设有int i;则表达式i=1,++i,++i||++i,i的值为( ).
A.1 B.2 C.3 D.4
2.设有int a[ ]={10,11,12},*p=&a[0];则执行完*p++;*p+=1;后a[0],a[1],a[2]的值依次是( ).
A.10,11,12 B.11,12,12
C.10,12,12 D.11,11,12
3.设有int i,j,k; 则表达式i=1,j=2,k=3,i&&j&k 的值为( ).
A.1 B.2 C.63 D.0
&&是逻辑与运算符,可以举例说明下吗?
1.设有int i;则表达式i=1,++i,++i||++i,i的值为( ).A.1 B.2 C.3 D.42.设有int a[ ]={10,11,12},*p=&a[0];则执行完*p++;*p+=1;后a[0],a[1],a[2]的值依次是( ).A.10,11,12 B.11,12,12C.10,12,12 D.11,11,123.设有int i,j,k; 则表达
&是按位与运算符,它的规则是:1&1=1 1&0=0 0&0=0,比如2&3,2变成二进制是0000 0010,
3变成二进制是0000 0011.两者按位与就是0000 0010,换回来是2.
第一题,中要注意||是短路运算,也就是说,||前面的表达式为真,则后面的表达式就不再计算,所以是C:3
第二题,p保存了a[0]的地址,*p++是++优先结合所以可看成是*(p++),p指针向后移了一位,p指向了a[1]的地址,*是取值,但无操作,无视.*p+=1,+=优先级低先结合*所以成了(*p)+=1,先取a[1]的值,再对其加1.