C语言中 int x=1,y;y=++x*++x怎么算

如题所述

第1个回答  2009-08-23
y=++x;等价于x++;y=x;
y=x++;等价于y=x;x++;
所以y=++x*++x等价于x++;x++;y=x*x;
按题意来算,x++;x++后是3然后3*3=9
若是y=++x*x++
那么就等价于x++;y=x*x;x++;
第2个回答  2009-08-23
程序执行完后,x=2,y=4
++x表示x先加后用
x++表示x先用后加本回答被网友采纳
第3个回答  2009-08-23
y=++x*++x 可以分解为:
++x;'此时x=2
++x;'此时x=3
y=x*x;'此时y=9
第4个回答  2009-08-23
#include "stdio.h"
void main()
{int x=1,y;y=++x*++x;
printf("%d",y);
}
结果为:
9

单目运算符优先于双目运算符
第5个回答  2009-08-23
++的优先级高于*,所以先运算++
++x=2,++x=3
y=3*3=9
相似回答
大家正在搜