学习型 ASP/PHP/ASP.NET 主机 30元/年全能 ASP/PHP/ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付
发新话题
打印

刚学的指针,请各位大侠帮我看看代码是哪写错了,

刚学的指针,请各位大侠帮我看看代码是哪写错了,

//编写一个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);
  
}

交换之后还是原样输出,请问是哪里错了?

TOP

指针c指向的是哪个地址?指针在使用前要赋初值。

TOP

c=NULL;  // 这里有问题

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

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

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

delete c;  // 用完后释放内存
—>〉Sun〈<—

TOP

恩```cosdos说得没错```不过郁闷了我刚才复制下在WIN-TC下可以运行?
在VC就运行不了了哈哈

TOP

#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();
}

TOP

5#的哥们可是湘潭北大青鸟的?

TOP

发新话题