| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 297 人关注过本帖
标题:一个指针的小问题 求大神··
只看楼主 加入收藏
GUnever
Rank: 2
等 级:论坛游民
帖 子:59
专家分:25
注 册:2012-3-3
结帖率:95.24%
收藏
已结贴  问题点数:5 回复次数:1 
一个指针的小问题 求大神··
#include<stdio.h>
void shuru(int *str1);
void chuli(int *str1);
void shuchu(int *str1);
void main()
{

    int str[10];
    shuru(str);
    chuli(str);
    shuchu(str);
    }
void shuru(int *str1)
    {
        int i;
        for(i=0;i<10;i++)
        {
            scanf("%d",str1++);
        }
    }
void chuli(int *str1)
    {
        int *p1,*p2,min,max,i;
        p1=str1;
        for(i=0;i<10;i++)
        str1++;
        p2=str1;
        str1=p1;
        max=*str1;
        min=*str1;
        for(i=0;i<10;i++)
        {
            str1++;
            if(*str1>max)
            {
                max=*str1;
            }
            if(*str1<min)
            {
                min=*str1;
            }
        }
        *p2=max;
        *p1=min;
    }
void shuchu(int *str1)
    {
        int i;
        for(i=0;i<10;i++)
        {
            printf("%d",*str1++);
        }
    }

这个程序是实现一个数组里面 将最大的放在最后面 最小的放在最前面  然后输出数组  并且用了3个函数  但是第2个处理函数的时候传的是数组str的地址
 用str1++的时候 调试显示整个组数的地址都在往前面移动很奇怪··明明是指针STR1指向了str 应该是指针自加 怎么会变成整个数组都在移动呢··
搜索更多相关主题的帖子: void max include 
2012-04-05 16:25
zhangxiangD
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:39
专家分:119
注 册:2011-12-20
收藏
得分:5 
看程序应该不会出现这样的问题呀!毕竟str和str1是两个不同的变量。
不过你的处理函数写的不太好,你的这种写法会覆盖一些值,应该交换
元素。
2012-04-05 17:01
快速回复:一个指针的小问题 求大神··
数据加载中...
 
   



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

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