CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

高手帮忙。。。。。。。。。。。。。。

楼主T_Zone(马涛涛)2004-12-02 18:19:27 在 C/C++ / C语言 提问

这个程序好像不起作用,没有进行比较。。。。定义函数没有生效,那位高手指点一二。  
   
  #include<stdlib.h>  
  #include<stdio.h>  
  void   swap(int   *   ,int   *);  
  void   change(int   *   ,int   *,int   *);  
  int   main(void)  
  {  
          int   a,b,c;  
           
          printf("please   input:");  
          scanf("%d   %d   %d",&a,&b,&c);  
           
        void   change(int   *a,int   *b,int   *c);  
          printf("按照大小排序是   %d>%d>%d\n",a,b,c);  
          system("PAUSE");      
          return   0;  
  }          
  void   swap(int   *q,int*p)  
  {  
          int   temp;  
          temp=*q;  
          *q=*p;  
          *p=temp;  
  }  
  void   change(int   *a,int   *b,int   *c)  
  {  
          if(*a<*c)  
          {  
                  void   swap(int   *q,int   *p);  
            }  
            if(*a<*b)  
            {  
                            void   swap(int   *q,int   *p);  
                    }  
            if(*b<*c)  
            {  
                    void   swap(int   *q,int   *p);  
            }  
  }                    
   
  问题点数:8、回复次数:6Top

1 楼milozy1983(Detective)回复于 2004-12-02 18:27:37 得分 0

the   way   that   you   call   functions   is   errorTop

2 楼T_Zone(马涛涛)回复于 2004-12-02 18:29:35 得分 0

楼上的大侠,能给详细点的信息吗?我是新手!Top

3 楼choujs(阿弥陀佛)回复于 2004-12-02 18:32:53 得分 0

你只是定义了函数原型,没有使用函数啊。例如调用   change   应该这样:  
   
  change(&a,   &b,   &c);Top

4 楼pikaqiu96(学无止境)回复于 2004-12-02 18:47:24 得分 8

这个程序写得好乱,错误百出~~~  
  看来你对指针,函数调用根本都没理解.  
  你的函数调用跟定义是一样的!而且该用指针时你却调用的是变量.  
  注意:指针指的是地址  
   
  下面是你的程序(错误的地方我给你作了更正):  
  #include<stdlib.h>  
  #include<stdio.h>  
  void   swap(int   *   ,int   *);  
  void   change(int   *   ,int   *,int   *);  
  int   main(void)  
  {  
          int   a,b,c;  
           
          printf("please   input:");  
          scanf("%d   %d   %d",&a,&b,&c);  
           
        void   change(int   *a,int   *b,int   *c);     /*不是这么调用的,又在申明又在调用!应改为change(&a,&b,&c);因为你这里传送的是地址*/  
          printf("按照大小排序是   %d>%d>%d\n",a,b,c);  
          system("PAUSE");      
          return   0;  
  }          
  void   swap(int   *q,int*p)  
  {  
          int   temp;  
          temp=*q;  
          *q=*p;  
          *p=temp;  
  }  
  void   change(int   *a,int   *b,int   *c)  
  {  
          if(*a<*c)  
          {  
                  void   swap(int   *q,int   *p);     /*同样的错误,不知道你那儿来的q,p.改:swap(a,c);*/  
            }  
            if(*a<*b)  
            {  
                            void   swap(int   *q,int   *p);/*改:swap(a,b);*/  
                    }  
            if(*b<*c)  
            {  
                    void   swap(int   *q,int   *p);             /*改:swap(b,c);*/  
            }  
  }                    
  Top

5 楼xuelong_zl(点雨点[我身上咋就没MM的香水味涅??#-_-])回复于 2004-12-02 18:50:46 得分 0

我给你改了一下,希望你能看明白  
   
  #include<stdlib.h>  
  #include<stdio.h>  
  void   swap(int   *q   ,int   *p);  
  void   change(int   *a   ,int   *b,int   *c);  
  int   main(void)  
  {  
          int   a,b,c;  
   
          printf("please   input:");  
          scanf("%d%d%d",&a,&b,&c);  
   
          change(&a,&b,&c);  
          printf("%d>%d>%d%\n",a,b,c);  
          system("PAUSE");  
          return   0;  
  }  
  void   swap(int   *q,int*p)  
  {  
          int   temp;  
          temp=*q;  
          *q=*p;  
          *p=temp;  
  }  
  void   change(int   *a,int   *b,int   *c)  
  {  
          if(*a<*c)  
          {  
                  swap(a,c);  
          }  
          if(*a<*b)  
          {  
                  swap(a,b);  
          }  
          if(*b<*c)  
          {  
                  swap(b,c);  
          }  
  }Top

6 楼sandbitch(紫川秀)回复于 2004-12-02 19:46:20 得分 0

#include<stdlib.h>  
  #include<stdio.h>  
  void   swap(int   *   ,int   *);  
  void   change(int   *   ,int   *,int   *);  
   
  int   main()  
  {  
          int   a,b,c;  
           
          printf("please   input:");  
          scanf("%d   %d   %d",&a,&b,&c);  
   
          change(&a,&b,&c);  
          printf("按照大小排序是:   %d>%d>%d\n",a,b,c);  
          system("PAUSE");      
  }          
  void   swap(int   *q,int*p)  
  {  
          int   temp;  
   
          temp=*q;  
          *q=*p;  
          *p=temp;  
  }  
   
  void   change(int   *a,int   *b,int   *c)  
  {  
          if(*a<*c)  
          {  
                swap(a,c);  
          }  
          if(*a<*b)  
          {  
              swap(a,b);  
          }  
        if(*b<*c)  
        {  
              swap(b,c);  
        }  
  }            
  这是我给你改的。写代码要注意规范          
  Top

相关问题

关键词

  • 排序
  • swap
  • change
  • temp
  • pause
  • scanf
  • 大小排序
  • printf
  • please input
  • main

得分解答快速导航

  • 帖主:T_Zone
  • pikaqiu96

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo