解答这一题:若有定义语句 double x, y,*px,*py ; 执行了px=&x; py=&y ;之后,输入语句正确的是_______________。 A. scanf ("%f%f", x,y); B. scanf (“%f%f”&x,&y); C. scanf (”%lf%le”, px,py); D. scanf ("%lf%lf", x, y);
时间: 2023-05-16 14:06:21 浏览: 228
&x; py=&y; *px=1.2; *py=2.3; 则x和y的值分别是多少?
根据定义语句可知,x和y都是double类型的变量,而px和py则是指向double类型变量的指针。执行px=&x;后,px指向了x的地址,因此执行*px=1.2;后,x的值变为1.2。同理,执行py=&y;后,py指向了y的地址,因此执行*py=2.3;后,y的值变为2.3。因此,x的值为1.2,y的值为2.3。
相关问题
*pmax=(*px>*py)?*px:*py;
### 回答1:
这是一个简单的 C 语言表达式,它的作用是比较变量 px 和 py 的值,然后将其中较大的值赋值给指针变量 pmax 所指向的内存空间。
具体来说,*px 和 *py 分别表示指针变量 px 和 py 所指向的值,表达式 (*px > *py) ? *px : *py 的意思是:如果 *px 的值大于 *py 的值,则返回 *px 的值,否则返回 *py 的值。最后,将得到的结果赋值给 pmax 所指向的内存空间。
需要注意的是,如果 px 和 py 指向的内存空间没有被赋值,或者指向的值不是数字类型,那么这个表达式的结果可能不可预测。
### 回答2:
*pmax=(*px>*py)?*px:*py; 是一个条件表达式语句。
首先,解析条件表达式 *px>*py 。如果 *px 大于 *py ,则条件为真,返回结果为非零值;如果 *px 小于等于 *py ,则条件为假,返回结果为0。
接下来,根据条件表达式的结果,来决定 *pmax 的值。如果条件为真(即 *px 大于 *py ),则 *pmax 的值为 *px 的值;如果条件为假(即 *px 小于等于 *py ),则 *pmax 的值为 *py 的值。
所以,这个表达式的作用是选择两个指针所指向的变量中较大的值,然后将较大的值赋给 *pmax。
总结:*pmax=(*px>*py)?*px:*py; 这个表达式的含义是,如果 *px 大于 *py ,则将 *px 的值赋给 *pmax;否则将 *py 的值赋给 *pmax。
### 回答3:
*pmax=(*px>*py)?*px:*py; 这行代码的作用是将指针px和py所指向的值进行比较,然后将较大的值赋值给pmax所指向的位置。
首先,我们需要明确的是,px和py是指针变量,它们分别存储了某个变量的地址。
*pmax表示pmax所指向的位置的值。通过(*px>*py)这个条件判断,如果px所指向的值大于py所指向的值,则条件判断为真,那么*pmax的值将被赋值为*px;如果px所指向的值小于等于py所指向的值,则条件判断为假,那么*pmax的值将被赋值为*py。
简单来说,这行代码的作用就是将px和py所指向的值中的较大值赋值给pmax所指向的位置。这可以用来比较两个值的大小,并将较大值存储起来,方便后续使用。
需要注意的是,px和py指向的变量的数据类型应该是可比较的,例如整数或浮点数。如果px和py指向的是不可比较的数据类型,如字符或字符串,则编译器可能会报错。
void fun(int x,int y){*x = *y;}有语句错误吗
这个C++函数声明有一个潜在的语法错误和一个类型的误解:
1. 语句错误:
函数体内的 `*x = *y` 这一行试图通过解引用操作符 `*` 来给 `int` 类型的变量赋值,但是这里应该是直接赋值而不是取地址。如果 `x` 和 `y` 指向的是整数数组元素,那么应该使用索引来访问它们,而非 `*`。
2. 类型误解:
如果 `x` 和 `y` 是指针变量,`*x = *y` 表示将 `y` 所指向的值赋给 `x` 所指向的地方,这种情况下没有明显错误。但如果它们本身就是 int 类型,则 `*x` 是非法的,因为 int 类型没有地址空间。
修复后的可能版本:
- 如果 `x` 和 `y` 是整数变量,无需解引用,直接 `x = y;`
- 如果 `x` 和 `y` 是指向整数的指针,应先检查是否有效,如 `if (x && y)`,然后 `*x = *y;`
正确的函数声明可能如下:
```cpp
void fun(int& x, int& y); // 如果修改为引用传递,避免浅拷贝
// 或者
void fun(int* x, int* y); // 如果是地址传递
```
阅读全文