黑马程序员技术交流社区

标题: 关于C语言指针的一个问题 [打印本页]

作者: Elors    时间: 2015-6-2 09:21
标题: 关于C语言指针的一个问题
之前写的一个交换两个变量值的方法,今天看发现编译器给出了警告,代码如下:
  1. void swap(int *x, int *y){
  2.     int *temp;
  3.     temp = *x;//第一处警告
  4.     *x = *y;
  5.     *y = temp;//第二处警告
  6. }
复制代码

当初记得是从视频中跟着写下来的,但是视频中编译却没有警告。
作者: aofex    时间: 2015-6-2 09:41
你是拿windows32位系统编写的吗,装个虚拟机试试在linux下!!!
作者: Elors    时间: 2015-6-2 10:00
aofex 发表于 2015-6-2 09:41
你是拿windows32位系统编写的吗,装个虚拟机试试在linux下!!!

是在Mac上Xcode编写的
作者: Residual_mem    时间: 2015-6-2 13:05
没有定义诶。。拿什么给你搞?
作者: Elors    时间: 2015-6-2 14:11
Residual_mem 发表于 2015-6-2 13:05
没有定义诶。。拿什么给你搞?

不太明白你的意思。
作者: 恩赐_RWQqZ    时间: 2015-6-2 22:13
void swap(int *x, int *y){
    int *temp;
    temp = *x;//第一处警告
    *x = *y;
    *y = temp;//第二处警告
}


void swap(int *x, int *y){
    int temp;  //这里不用定义指针变量   你要明白指针变量是要装指针的  而 *x 是访问传进来实参的值
    temp = *x;
    *x = *y;
    *y = temp;
}

作者: Elors    时间: 2015-6-2 22:16
恩赐_RWQqZ 发表于 2015-6-2 22:13
void swap(int *x, int *y){
    int *temp;
    temp = *x;//第一处警告

学习了:handshake
作者: 马贺飞    时间: 2015-6-5 16:48
temp定义错误
作者: huyingbin    时间: 2015-6-6 16:00
不对吧,应该是int temp吧
作者: Dariel    时间: 2015-6-6 19:13
不同环境上的编译器不太一样
作者: ⒈苆都s.兲憶    时间: 2015-6-6 23:34
x,y,都没初始化,只是个形参,你就拿来赋值了!
作者: 七尺阳光    时间: 2015-6-6 23:36
恩赐_RWQqZ 发表于 2015-6-2 22:13
void swap(int *x, int *y){
    int *temp;
    temp = *x;//第一处警告

说滴很好
作者: 这是829    时间: 2015-6-7 01:03
我是来看评论的
作者: Elors    时间: 2015-6-7 09:45
⒈苆都s.兲憶 发表于 2015-6-6 23:34
x,y,都没初始化,只是个形参,你就拿来赋值了!

这里x和y是没有问题的,不要误导。
作者: yi95392    时间: 2015-6-7 10:02
temp改成int型就对了

作者: 宋兴1228    时间: 2015-6-7 21:31
x,y,都没初始化,只是个形参,你就拿来赋值了!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2