| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 671 人关注过本帖
标题:认真思考过了,但还是解决不了,关于指针的
取消只看楼主 加入收藏
max668
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2010-7-25
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:3 
认真思考过了,但还是解决不了,关于指针的
输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。

#include "stdafx.h"
#include<stdio.h>

void intput(int number[])
{
    int i;
    printf("input 10 numbers:");
    for(i=0;i<10;i++)
    {
        scanf("%d",&number[i]);
    }
}

void max_min_value(int number[])
{
    int *max,*min,*p,temp;
    max=min=number;
    for(p=number+1;p<number+10;p++)
    {
        if(*p>*max)max=p;//将大数地址赋给max
        else
        {
            if(*p<*min)min=p;//将小数地址赋给min
        }
    }
    temp=number[0];//将最小数与第一大数对换
    number[0]=*min;
    *min=temp;
    if(max=number)//如果第一个数刚好等于最大数(这里怎么用了赋值号,不是应该是等于号吗。指针也允许这样比较??)
    {
        max=min;//则使max仍指向该最大数(这样如何能使max指向该最大数??)
    }
    temp=number[9];//将最小数与第一数交换
    number[9]=*max;
    *max=temp;
}

void output(int number[])
{
    int *p;
    printf("Now,they are:");
    for(p=number;p<number+9;p++)
    {
        printf("%d",*p);
    }
    printf("\n");
}

int main(int argc, char* argv[])
{
    int number[10];
    intput(number);
    max_min_value(number);
    output(number);
    return 0;
}
大家看看,是不是谭老解错了,谢谢!
搜索更多相关主题的帖子: 指针 思考 
2010-08-17 20:09
max668
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2010-7-25
收藏
得分:0 
不明白
2010-08-17 20:31
max668
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2010-7-25
收藏
得分:0 
回复 2楼 毕业旅行
刚才按你说的做了,果然行了!不过还有一个问题,就是max==number表示的是什么意思呢,是max和number的值相等,还是它们指向的对象相等。指针也能相比较吗?怎么谭老的书没提到??
2010-08-17 21:14
max668
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2010-7-25
收藏
得分:0 
回复 6楼 真我
有打印结果的啊
2010-08-17 21:53
快速回复:认真思考过了,但还是解决不了,关于指针的
数据加载中...
 
   



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

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