C-1

来源:互联网 发布:泛微java怎么样 编辑:程序博客网 时间:2024/05/22 00:48
设整型变量n的值为2,执行语句“n+=n-=n*n;”后,n的值是_____
  • 0
  • 4
  • -4
  • 2


C的语法结构,赋值语句的情况下 从右往左

n+=n-=n*n
等价于
n-=n*n =》 n=n-n*n
n+=n   =》 n = n+n


已有定义 int x=3, y=4, z=5;则表达式“!(x+y)+z-1&&y+z/2”的值是_____。
  • 6
  • 0
  • 2
  • 1

!(x+y)+z-1&&y+z/2 等价于
(!(x+y)+z-1)&&(y+z/2)


在VC6.0环境下
    void main()
{
int i = 0;
printf("%d,%d,%d,%d\n",++i,i++,++i,i++);
printf("i = %d\n",i);
}
输出结果为(   )
  • 1 1 2 2  i=2
  • 1 2 3 4  i=4
  • 2 1 1 0  i=4
  • 4 2 2 0  i=4
printf函数的参数压栈方向为自右向左,同时注意,在VC6.0的环境下,后置++的运算时机是在语句结束后在进行运算,即分号结束时运算
原创粉丝点击