在 Java 中,下列代码运行后的输出结果是() (选择一项) int x=5*3; int y=x+5/x+3;//5/15 两边都为整数取整数为 0 ;5/3 两边取整数为 1; System.out.println(y); a) 18 b) 21 c) 19 d) 4
时间: 2024-02-16 11:01:04 浏览: 20
根据运算符的优先级和结合性,代码的执行顺序是从左到右,先算乘除后算加减。所以先计算 5*3,得到 15,然后计算 5/x,由于 x 是整型,所以结果也是整型,因此 5/3 等于 1。最后计算 x+5/x+3,相当于 (15+5)/3+3,即 20/3+3,由于两个操作数都是整型,所以计算结果也是整型,因此最终结果是 6+3=9。因此,选项 D(4)是错误的。正确答案是选项 C(19)。
相关问题
int*p;*p=*x;*x=*y;*y=*p;
这段代码的作用是交换变量x和y的值。具体的步骤如下:
1. 声明一个指针变量p,类型为int。
2. 将指针p指向的内存地址的值设置为变量x的值。
3. 将变量x的值设置为变量y的值。
4. 将变量y的值设置为指针p指向的内存地址的值。
下面是一个示例代码,演示了如何使用这段代码来交换变量的值:
```c
int x = 10;
int y = 20;
int *p;
p = &x;
*p = y;
y = *p;
printf("x = %d, y = %d\n", x, y); // 输出:x = 20, y = 10
```
int x=3,y;int *px=&x;y=*px++;结果为
这段代码的执行结果为 `y` 的值为 3,`px` 指向 `x` 的地址后加 1。
具体解释如下:
1. `int x=3,y;` 定义了一个整型变量 `x` 并初始化为 3,以及一个未初始化的整型变量 `y`。
2. `int *px=&x;` 定义了一个整型指针变量 `px`,并将其初始化为指向 `x` 的地址。
3. `y=*px++;` 将 `px` 指向的地址上的值(即 `x` 的值)赋给 `y`,然后将 `px` 的值自增 1(指向下一个地址)。
因此,最终 `y` 的值为 3,`px` 指向了 `x` 的地址加 1 的位置(即 `&x + 1`)。