| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 615 人关注过本帖
标题:刚学的指针,请各位大侠帮我看看代码是哪写错了,
只看楼主 加入收藏
完全菜鸟
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-5-4
收藏
 问题点数:0 回复次数:5 
刚学的指针,请各位大侠帮我看看代码是哪写错了,
//编写一个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:53
smltq
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:566
专家分:400
注 册:2008-1-21
收藏
得分:0 
指针c指向的是哪个地址?指针在使用前要赋初值。
2008-05-04 19:07
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:0 
c=NULL;  // 这里有问题

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

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

或内存分配:    // 失误写了c++ 的代码
int * c = new int;
....
....

delete c;  // 用完后释放内存

—>〉Sun〈<—
2008-05-04 19:17
smltq
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:566
专家分:400
注 册:2008-1-21
收藏
得分:0 
恩```cosdos说得没错```不过郁闷了我刚才复制下在WIN-TC下可以运行?
在VC就运行不了了哈哈
2008-05-04 20:11
46067022
Rank: 1
来 自:湖南湘潭
等 级:新手上路
帖 子:26
专家分:0
注 册:2008-1-11
收藏
得分:0 
#include "stdio.h"
void main()
{  
  int a=3,b=5,*p,*q,c;
  p=&a;q=&b;
  printf("a=%d,b=%d",a,b);
  
    c=*p;
    *p=*q;
    *q=c;
    printf("交换后:a=%d,b=%d",a,b);
       getch();
}
2008-05-04 20:16
完全菜鸟
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-5-4
收藏
得分:0 
5#的哥们可是湘潭北大青鸟的?
2008-05-04 21:47
快速回复:刚学的指针,请各位大侠帮我看看代码是哪写错了,
数据加载中...
 
   



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

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