标题:新手题 指针作为函数形参使最大最小数对调 有大佬能看看哪里错了么?
取消只看楼主
qq14
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2020-11-23
结帖率:100%
已结贴  问题点数:20 回复次数:2 
新手题 指针作为函数形参使最大最小数对调 有大佬能看看哪里错了么?
输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写3个函数:①输入10个数;②进行处理;③输出10个数。所有函数的参数均用指针。
我的代码如下,是哪个环节的问题呢,指针不是很懂
#include <stdio.h>
#include <stdlib.h>
void In(int *b);
void Swap(int *x,int *y);
void Out (int *b);
int main()
{
    int x[10];
    int *b=x;
    In(b);
    int k=0,K=9;
    for(int j=0;j<10;j++)
    {
        if(x[k]>x[j]) {k=j;}
    }
    for(int g=0;g<10;g++)
    {
        if(x[K]<x[g]) {K=g;}
    }
    if(k!=0) Swap(&x[0],&x[k]);
    if(K!=9) Swap(&x[9],&x[K]);
    Out(b);
    return 0;
}
void In(int *b)
{
    int x[10];
    for(int i=0;i<10;i++)
    {
        scanf("%d",&x[i]);
    }
    b=x;
}
void Swap(int *x,int *y)
{
    int t;
    t=*x;
    *x=*y;
    *y=t;
}
void Out(int *b)
{
    int y[10];
    b=y;
    for(int i=0;i<10;i++)
    {
        printf("%d ",y[i]);
    }
}
输出了10个奇奇怪怪的数字。。
搜索更多相关主题的帖子: void int for 指针 函数 
2020-12-25 20:13
qq14
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2020-11-23
得分:0 
回复 2楼 风过无痕1989
运行出来了!谢谢大佬!
2020-12-26 16:17
qq14
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2020-11-23
得分:0 
回复 3楼 do8do8do8
还是有奇怪的数字,改成scanf("%d",b+i)就可以!能运行了现在!谢谢你
2020-12-26 16:21



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-504391-1-1.html




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

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