void fun(int *s, int t, int *k) { int p; for(p=0,*k=p;p<t;p++)//当p-2时,*k的值是_ if (*(s+p) > *(s+*k))//s+p是数组元素的地址还是数组元素的
时间: 2023-02-13 16:48:33 浏览: 52
这是一段代码。它定义了一个函数 fun,接受三个参数:一个 int 类型的指针 s,一个 int 类型的变量 t,以及一个 int 类型的指针 k。
在函数内部,它定义了一个变量 p,然后将 p 的值赋给 *k。接下来,它进入了一个循环,每次循环的条件是 p 小于 t。在循环体内,它会判断 s p 和 s *k 的值的大小。
s p 是数组元素的地址,而不是数组元素的值。s *k 是数组元素的值,而不是地址。
当 p-2 时,*k 的值是未知的,因为我们无法确定 s 数组的内容。
相关问题
优化这段代码 void fun(int *x,int *y){int *p;*p=*x;*x=*y;*y=*p;}
void fun(int *x, int *y) {
int temp = *x;
*x = *y;
*y = temp;
}
// 或者使用指针的指针来交换两个变量的值
void fun(int **x, int **y) {
int *temp = *x;
*x = *y;
*y = temp;
}
void fun_b(int *x, int *y) {int *p; *x=*y;*y=*x; )
这是一个交换两个整型变量值的函数,函数名为fun_b,参数为两个指向整型变量的指针x和y。函数体内定义了一个指向整型变量的指针p,然后通过指针操作交换了x和y指向的变量的值。具体实现如下:
```c
void fun_b(int *x, int *y)
{
int *p;
p = x;
x = y;
y = p;
}
```
需要注意的是,函数内部的指针操作只是交换了指针本身的值,并没有交换指针所指向的变量的值。正确的实现方式应该是:
```c
void fun_b(int *x, int *y)
{
int temp;
temp = *x;
*x = *y;
*y = temp;
}
```
相关推荐
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![text/x-c](https://img-home.csdnimg.cn/images/20210720083646.png)
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)