
C语言运算符与表达式问题
#include<stdio.h>main(){intx=3,y=3,z=1;printf("%d%d\n",(++x,y++),z+2);}(++x,y++)是什么意思...
#include <stdio.h>
main()
{
int x=3,y=3,z=1;
printf("%d %d\n",(++x,y++),z+2);
}
(++x,y++)是什么意思,为什么结果是3 3? 展开
main()
{
int x=3,y=3,z=1;
printf("%d %d\n",(++x,y++),z+2);
}
(++x,y++)是什么意思,为什么结果是3 3? 展开
展开全部
++x 是在本句中先将x的值+1,然后使用+1后的值
y++ 是先使用原值,然后在以后使用+1的值
这样在printf语句中 ++x即 4, y++为3
但是(++x,y++)是一个表达式,只能有一个值,这个值是3,因为取的是逗号运算符后的值作为整个表达式的值(逗号运算符的性质如此)
而z+2则作为临时变量值显然是3
所以出来了3,3
y++ 是先使用原值,然后在以后使用+1的值
这样在printf语句中 ++x即 4, y++为3
但是(++x,y++)是一个表达式,只能有一个值,这个值是3,因为取的是逗号运算符后的值作为整个表达式的值(逗号运算符的性质如此)
而z+2则作为临时变量值显然是3
所以出来了3,3
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询