| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1070 人关注过本帖
标题:问个指针的问题,实在不懂了
只看楼主 加入收藏
whukeming
Rank: 2
等 级:论坛游民
帖 子:76
专家分:51
注 册:2008-8-24
收藏
得分:0 
void swap(int*,int*);这句是函数申明吗,怎么放在main函数里面?
2013-04-08 20:04
whukeming
Rank: 2
等 级:论坛游民
帖 子:76
专家分:51
注 册:2008-8-24
收藏
得分:0 
写了个,差不多。

程序代码:
# include <stdio.h>

void swap(int * p, int * q)

{
    int temp;
    
    if (*q > *p)
    {
        temp = *p;
        *p = *q;
        *q = temp;
    }
    
}

int main(void)

{
    int a, b;
    
    int * p1, * p2;
    
    printf("请输入两个数:\n");
    
    scanf("%d %d", &a, &b);
    
    p1 = &a;
    p2 = &b;
    
    swap(p1, p2);
    
    printf("%d %d\n", *p1, *p2);
    
    
    return 0;
}
2013-04-08 20:26
y3765258
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:106
专家分:172
注 册:2013-4-9
收藏
得分:0 
你是想用自定义函数  把指针指向交换,从而达到交换数值的目的把。
但我真心不懂 你的编译器是怎么通过的。

#include "stdio.h"
main()
{
  int a,b;
  int*p1,*p2;
  void swap(int*,int*);  //虽然没要求 但是应该放在定义变量前
  scanf("%d,%d",&a,&b);
  p1=&a;p2=&b;
  if(a<b)
   swap(p1,p2);
  printf("%d,%d\n",*p1,*p2);
}
void swap(int *p1,*p2)   //void swap(int *p1,int *p2)
{
  int*p;     //这真的可以定义么。。。。这个p指针是野指针,虽然不对它的内存操作,但是还是潜在的危险。
  p=p1;      //还有 如果想要交换指针的话  要交换的是指向指针的指针  即2维指针  **p。
  p1=p2;
  p2=p;
}
程序

有问题一起探讨,一起进步。
2013-04-10 20:00
快速回复:问个指针的问题,实在不懂了
数据加载中...
 
   



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

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