| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 26766 人关注过本帖
标题:如何正确使用指针数组?
取消只看楼主 加入收藏
清微御宇
Rank: 6Rank: 6
来 自:开封
等 级:侠之大者
威 望:2
帖 子:318
专家分:497
注 册:2012-1-15
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
如何正确使用指针数组?
程序代码:
#include <stdio.h>
void man(int*a[]);
void exchange(int*x,int*y);
int main()//求输入10个数求最大最小并把最大和最后一个数换最小和第一个数换,其它数的位置不变并输出要求必须用指针;
{
    int*a[10],i;
    int b[10];
        /*
            for(i=0;i!=10;i++)
        scanf("%d",a[i]);
           */
    for(i=0;i!=10;i++)//求最大和最小;这里为什么不能直接写成上面注销的那样呢?运行程序时提示程序出错!
    {
        scanf("%d",&b[i]);
            a[i]=&b[i];
    }
      man(a);//这里传递过去的是什么呢?
        for(i=0;i!=10;i++)
        printf("%-4d",*a[i]);
        printf("\n");
return 0;
}
void man(int*a[])//求最大和最小;
{
    int i,*max,*min;
    max=min=a[0];
    for (i=1;i!=10;i++)
    {
        min=a[i]>max?a[i]:max;//这里更是不懂为什么比较地址就能求最大和最小开始写*min=*a[i]>*max?*a[i]:*max;也是不行,后来改成这就行了!
        max=a[i]<min?a[i]:min;//
    }
   exchange(min,a[0]);
   exchange(max,a[9]);
}
void exchange(int*x,int*y)//交换位置;
{
int temp;
temp=*x;
*x=*y;
*y=temp;
}
搜索更多相关主题的帖子: 如何 
2012-04-06 20:51
清微御宇
Rank: 6Rank: 6
来 自:开封
等 级:侠之大者
威 望:2
帖 子:318
专家分:497
注 册:2012-1-15
收藏
得分:0 
回复 9楼 TonyDeng
看来我又想当然了,呵呵,由衷感谢版版孜孜不倦的教导!

Stay hungry , Stay foolish!
2012-04-07 07:51
清微御宇
Rank: 6Rank: 6
来 自:开封
等 级:侠之大者
威 望:2
帖 子:318
专家分:497
注 册:2012-1-15
收藏
得分:0 
回复 9楼 TonyDeng
还有顺便问问版版,我用vc6.0绿色中文版,之前很长的程序(不含指针)编译运行的都很快!现在只要定义一个小的指针数组编译都需要10几妙才能反应过来呢?

Stay hungry , Stay foolish!
2012-04-07 08:10
清微御宇
Rank: 6Rank: 6
来 自:开封
等 级:侠之大者
威 望:2
帖 子:318
专家分:497
注 册:2012-1-15
收藏
得分:0 
回复 12楼 hellovfp
抱歉我一般写的代码都是复制到内存卡中,一般默认的都是c盘,可是从这几天vc默认成了内存卡,读取速度太慢,我改回c盘又好了,谢谢了!打扰了!

Stay hungry , Stay foolish!
2012-04-07 14:12
快速回复:如何正确使用指针数组?
数据加载中...
 
   



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

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