int x=5;y=x++*x++;y=--y*--y;运行后y是多少 5
8个回答
展开全部
首先,要知道++、--这样的运算符,在程序中是如何执行的。
有两种形式:
1、前++、前--:在表达式执行之前,先进行++或--操作。
2、后++、后--:在表达式执行结束后,再进行++或--操作。
例如问题中提到的 y = x++ * x++;
这则表达式是后++操作,表达的执行流程如下:
1、y = x + x
2、x++ (即:x = x + 1)
这步执行后,y=25,x=7(因为在表达式执行后,x自加了2次)。
所以在 y = --y * --y;操作时
1、--y(即:y = y - 1),执行2次,因为有2个 --y。
这步执行后,y=23。
2、y = y * y (这里的y值已经做过2次自减操作。)
这步执行后,y=529。
有两种形式:
1、前++、前--:在表达式执行之前,先进行++或--操作。
2、后++、后--:在表达式执行结束后,再进行++或--操作。
例如问题中提到的 y = x++ * x++;
这则表达式是后++操作,表达的执行流程如下:
1、y = x + x
2、x++ (即:x = x + 1)
这步执行后,y=25,x=7(因为在表达式执行后,x自加了2次)。
所以在 y = --y * --y;操作时
1、--y(即:y = y - 1),执行2次,因为有2个 --y。
这步执行后,y=23。
2、y = y * y (这里的y值已经做过2次自减操作。)
这步执行后,y=529。
更多追问追答
追问
你知道x自加了两次,第二个x++问什么还是5 啊
追答
最佳答案已经选出来了,看来,没法继续回答了。
可以确切告诉你,那个答案的回答不正确。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
【529】
验证的程序:
#include<stdio.h>
int main()
{
int x=5,y;
y=x++*x++;
y=--y*--y;
printf("%d",y);
}
这涉及到运算符优先级的问题,自增自减的运算级是大于*乘法运算的,自己推导一下,另外x++和++x的区别是,谁在前,先操作谁
不懂再追问,希望可以帮你
验证的程序:
#include<stdio.h>
int main()
{
int x=5,y;
y=x++*x++;
y=--y*--y;
printf("%d",y);
}
这涉及到运算符优先级的问题,自增自减的运算级是大于*乘法运算的,自己推导一下,另外x++和++x的区别是,谁在前,先操作谁
不懂再追问,希望可以帮你
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-06-20
展开全部
529
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
23*23=529
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询