void swap(int *x,int *y) {int *p; *p=*x; *x=*y; *y=*p;} 这个代码存在什么问题?
时间: 2023-12-04 07:39:36 浏览: 199
Java中string和int的互相转换问题
这个代码存在问题,因为指针p没有被初始化,所以在执行*p=*x时会出现未定义的行为。应该先将p指向一个合法的内存地址,例如可以使用以下代码进行改进:
```c
void swap(int *x, int *y) {
int temp;
int *p = &temp;
*p = *x;
*x = *y;
*y = *p;
}
```
阅读全文