| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 573 人关注过本帖
标题:这样居然不可以
只看楼主 加入收藏
see235959850
Rank: 2
等 级:论坛游民
帖 子:380
专家分:29
注 册:2016-12-21
结帖率:100%
收藏
 问题点数:0 回复次数:4 
这样居然不可以
程序代码:
void sort(int *x, int n)
{
    int i, j;
    int **p, t;
    p = &x;
    for(i=0;i<n-1;i++)
        for(j=0;j<n-1-i;j++)
            if (*p[j] > *p[j + 1])
            {
                t = *p[j];
                *p[j] = *p[j + 1];
                *p[j + 1] = t;
            }
}

#include<stdio.h>
int main()
{
    void sort(int *x, int n);
    int a[10];
    int *p;
    int i;
    p = a;
    for (i = 0; i < 10; i++)
        scanf_s("%d", p + i);
    sort(p, 10);
    for (i = 0; i < 10; i++)
        printf("%d ", p[i]);
    printf("\n");
    return 0;
}
2017-01-29 18:58
see235959850
Rank: 2
等 级:论坛游民
帖 子:380
专家分:29
注 册:2016-12-21
收藏
得分:0 
奇怪了
2017-01-29 18:59
jklqwe111
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:35
帖 子:336
专家分:1135
注 册:2014-4-13
收藏
得分:0 
为用指针而用指针,不可取。
void sort01(int *p, int n)
{
    int i, j,t;
   
    for(i=0;i<n-1;i++)
        for(j=0;j<n-1-i;j++)
            if (p[j] > p[j + 1])
            {
                t = p[j];
                p[j] = p[j + 1];
                p[j + 1] = t;
            }
}
void sort(int *x, int n)
{
    int i, j;
    int **p, t;
    p = &x;
    for(i=0;i<n-1;i++)
        for(j=0;j<n-1-i;j++)
            if ((*p)[j] > (*p)[j + 1])//(*p)[j]与*p[j]的区别
            {
                t = (*p)[j];
                (*p)[j] = (*p)[j + 1];
                (*p)[j + 1] = t;
            }
}
#include<stdio.h>
int main()
{
    void sort(int *, int );
    int a[10];
   
    int i;
   
    for (i = 0; i < 10; i++)
        scanf("%d", a+i);
        //scanf("%d", &a[i]);
    sort(a, 10);
    //sort01(a, 10);
    for (i = 0; i < 10; i++)
        printf("%d ", a[i]);
    printf("\n");
    return 0;
}
2017-01-29 19:57
see235959850
Rank: 2
等 级:论坛游民
帖 子:380
专家分:29
注 册:2016-12-21
收藏
得分:0 
以下是引用jklqwe111在2017-1-29 19:57:55的发言:

为用指针而用指针,不可取。
void sort01(int *p, int n)
{
    int i, j,t;
   
    for(i=0;i<n-1;i++)
        for(j=0;j<n-1-i;j++)
            if (p[j] > p[j + 1])
            {
                t = p[j];
                p[j] = p[j + 1];
                p[j + 1] = t;
            }
}
void sort(int *x, int n)
{
    int i, j;
    int **p, t;
    p = &x;
    for(i=0;i<n-1;i++)
        for(j=0;j<n-1-i;j++)
            if ((*p)[j] > (*p)[j + 1])//(*p)[j]与*p[j]的区别
            {
                t = (*p)[j];
                (*p)[j] = (*p)[j + 1];
                (*p)[j + 1] = t;
            }
}
#include<stdio.h>
int main()
{
    void sort(int *, int );
    int a[10];
   
    int i;
   
    for (i = 0; i < 10; i++)
        scanf("%d", a+i);
        //scanf("%d", &a);
    sort(a, 10);
    //sort01(a, 10);
    for (i = 0; i < 10; i++)
        printf("%d ", a);
    printf("\n");
    return 0;
}

(*p)[j]等价于什么
2017-01-30 08:19
see235959850
Rank: 2
等 级:论坛游民
帖 子:380
专家分:29
注 册:2016-12-21
收藏
得分:0 
以下是引用jklqwe111在2017-1-29 19:57:55的发言:

为用指针而用指针,不可取。
void sort01(int *p, int n)
{
    int i, j,t;
   
    for(i=0;i<n-1;i++)
        for(j=0;j<n-1-i;j++)
            if (p[j] > p[j + 1])
            {
                t = p[j];
                p[j] = p[j + 1];
                p[j + 1] = t;
            }
}
void sort(int *x, int n)
{
    int i, j;
    int **p, t;
    p = &x;
    for(i=0;i<n-1;i++)
        for(j=0;j<n-1-i;j++)
            if ((*p)[j] > (*p)[j + 1])//(*p)[j]与*p[j]的区别
            {
                t = (*p)[j];
                (*p)[j] = (*p)[j + 1];
                (*p)[j + 1] = t;
            }
}
#include<stdio.h>
int main()
{
    void sort(int *, int );
    int a[10];
   
    int i;
   
    for (i = 0; i < 10; i++)
        scanf("%d", a+i);
        //scanf("%d", &a);
    sort(a, 10);
    //sort01(a, 10);
    for (i = 0; i < 10; i++)
        printf("%d ", a);
    printf("\n");
    return 0;
}

我弄错了,啊哈哈哈
2017-01-30 08:44
快速回复:这样居然不可以
数据加载中...
 
   



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

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