假设x=1,y=2,z=3,则表达式y+=z--/++x的值是多少?答案是3,怎么算出来的?
发布网友
发布时间:2023-07-14 02:05
我来回答
共4个回答
热心网友
时间:2023-10-05 02:23
分解计算
这和C的计算逻辑有关,
z--先计算后赋值,在这个式子里其值是3
++x先赋值后计算,所以是2
y+=3/2 等效于 y=2+(3/2)=2+1(如果X,Y,Z都是int变量)
话说你这个题坑还是挺多的。
其实你应该写在c或者PHP里分步执行下,观察每个变量的值就明了了。
using System;
public class Test
{
public static void Main()
{
int x=1;
int y=2;
int z=3;
y+=z--/++x;
Console.WriteLine(y);
}
}
热心网友
时间:2023-10-05 02:23
z--先返回z的值z再+1
++x先+1再返回x的值
然后是符号的优先级
最先执行自加自减 然后执行相除
最后执行 +=
所以
x=x+1
y=y+z/x
z=z+1
x=1+1
y=2+3/2
z=4
3/2因为都是整型所以只返回整数部分的值
所以等于1
热心网友
时间:2023-10-05 02:24
答案是3.5
热心网友
时间:2023-10-05 02:24
随枫落地zpwogenvyh