| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1055 人关注过本帖
标题:刚学的指针,请各位大侠帮我看看代码是哪写错了,
只看楼主 加入收藏
完全菜鸟
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-5-4
收藏
 问题点数:0 回复次数:8 
刚学的指针,请各位大侠帮我看看代码是哪写错了,
//编写一个C语言程序,使用指针交换两个数的值.
#include "stdio.h"
void main()
{  
  int a=3,b=5,*p,*q,*c;
  p=&a;q=&b;c=NULL;
  printf("a=%d,b=%d",a,b);
  
    *c=*p;
    *p=*q;
    *q=*c;    
    printf("交换后:a=%d,b=%d",a,b);
  
}

交换之后还是原样输出,请问是哪里错了?
搜索更多相关主题的帖子: 指针 代码 printf C语言 
2008-05-04 18:49
花田一路
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2008-3-5
收藏
得分:0 
a,b值没有变化,你只是交换了指向他们的指针,就像用两个带锁的盒子装两种糖,你只是把锁换了,而盒子里的糖没有变化
2008-05-04 20:30
lzjd
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2008-4-2
收藏
得分:0 
我也不明白,等高手。 2楼他不是交换的指针吧。

[[it] 本帖最后由 lzjd 于 2008-5-4 20:59 编辑 [/it]]
2008-05-04 20:56
雨中飛燕
Rank: 1
等 级:新手上路
帖 子:765
专家分:0
注 册:2007-10-13
收藏
得分:0 
程序居然没有当掉。。。。肯定用的TC。。。。。

[color=white]
2008-05-04 20:59
lzjd
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2008-4-2
收藏
得分:0 
*c=*p;
    *p=*q;
    *q=*c;
c = p了
p = q  不就说明c =q吗?
q = c 他怎么换值?

[[it] 本帖最后由 lzjd 于 2008-5-4 21:18 编辑 [/it]]
2008-05-04 21:00
netsolo
Rank: 1
等 级:新手上路
帖 子:122
专家分:0
注 册:2008-3-6
收藏
得分:0 
2008-05-04 21:17
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:0 
// 楼主你重复主题了


c=NULL;  // 这里有问题

*c = *p;   // 这样的话会把数据存入NULL处,这是错误的。

int temp;   // 定义一个零时变量
c = &temp;

—>〉Sun〈<—
2008-05-04 21:34
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:0 
// NULL 不是有效的地址 //
// NULL 不是int变量的地址, NULL 为常量 0
// c = NULL;  就是 c = 0; ( 或者说(void *)0 )

#include "stdio.h"

int main(void)       /* C标准 */
{
    int a = 3, b = 5, *p, *q, *c, temp;
    p = &a;
    q = &b;
    c = &temp;
    printf("a=%d,b=%d", a, b);

    *c = *p;
    *p = *q;
    *q = *c;
    printf("交换后:a=%d,b=%d", a, b);
    getchar();
    return 0;
}


[[it] 本帖最后由 cosdos 于 2008-5-4 21:40 编辑 [/it]]

—>〉Sun〈<—
2008-05-04 21:37
完全菜鸟
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-5-4
收藏
得分:0 
回复 10# 的帖子
getchar();

这句起什么作用的?我试了加不加这句都不影响结果
2008-05-05 00:48
快速回复:刚学的指针,请各位大侠帮我看看代码是哪写错了,
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020111 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved