c++:若i为整形变量,请写出运算表达式i=10,i++,i++,i+3后,变量i的值是:? 请告诉我为什么。。。谢谢
2个回答
展开全部
12
在C++里面,任何一个运算符都是一个函数,
i=10这个函数是将i赋值为10,并且返回10,即表达式"i=10"的值为10。你可以用j=(i=10)或者省略括号。
i++这个函数是把i的值加1,但返回i未加之前的值。
i+3这个函数什么都不做,它返回i+3的值。
一切的赋值加减乘除(对于int)都会被当成一个函数看待。
在C++里,一个表达式加上分号就是语句,比如i+3;这就是语句,但它什么都不做。。而一堆表达式可以用逗号分开,组成一个大的表达式,系统会从左到右依次计算每个表达式,最终大表达式的值是最后一个表达式的值。因此,对于你给的表达式,i先赋值为10,再加1,再加1,i+3什么都不做,因此i的值是12,但是“表达式i=10,i++,i++,i+3”的值是最后一个i+3的值即15。
实际应用中,很少有i+3单独做语句,一般是放在类似j=i+3中。逗号表达式倒是挺多,比如
while(scanf("%d", &n), n+2<3) {....}
while里面的条件判定是:先输入n,当n+2<3是就继续。。系统为了计算while里面的东西(是一个逗号表达式),先要调用scanf,而表达式最终的值为最后一个即n+2<3的值。
在C++里面,任何一个运算符都是一个函数,
i=10这个函数是将i赋值为10,并且返回10,即表达式"i=10"的值为10。你可以用j=(i=10)或者省略括号。
i++这个函数是把i的值加1,但返回i未加之前的值。
i+3这个函数什么都不做,它返回i+3的值。
一切的赋值加减乘除(对于int)都会被当成一个函数看待。
在C++里,一个表达式加上分号就是语句,比如i+3;这就是语句,但它什么都不做。。而一堆表达式可以用逗号分开,组成一个大的表达式,系统会从左到右依次计算每个表达式,最终大表达式的值是最后一个表达式的值。因此,对于你给的表达式,i先赋值为10,再加1,再加1,i+3什么都不做,因此i的值是12,但是“表达式i=10,i++,i++,i+3”的值是最后一个i+3的值即15。
实际应用中,很少有i+3单独做语句,一般是放在类似j=i+3中。逗号表达式倒是挺多,比如
while(scanf("%d", &n), n+2<3) {....}
while里面的条件判定是:先输入n,当n+2<3是就继续。。系统为了计算while里面的东西(是一个逗号表达式),先要调用scanf,而表达式最终的值为最后一个即n+2<3的值。
2012-06-23
展开全部
12,楼上解释的非常清楚
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询