墨尔卡娜 发表于 2015-7-24 13:00:33

求助

本帖最后由 墨尔卡娜 于 2015-7-24 13:02 编辑

#include"stdio.h"
void main()
{
        int s,i,m,*p1,*p2;
        int exchange(int *x,int *y);
        m=10/2;
        for(i=0;i<10;i++)
                scanf("%d",&s);
        for(i=0;i<=m;i++)
        {
                p1=&s;p2=&s;
                exchange(p1,p2);
        }
        for(i=0;i<10;i++)
        {
                printf("%d",s);
        }
}
int exchange(int *x,int *y)
{
        int temp;
        temp=*x;
        *x=*y;
        *y=temp;
}
如上,我从键盘录入数组元素,再运行,结果是一串数字,然是如果初始化数组s={...........},并且删除        for(i=0;i<10;i++)
                scanf("%d",&s);之后,则能实现对换的功能,想从键盘录入数组,但是哪里错了?

哥斯拉不说话 发表于 2015-7-24 13:34:14

#include <stdio.h>

void main()
{
        int s, i, m, *p1, *p2;
        void exchange(int *x,int *y);
       
        m = 10/2;
       
        for(i=0; i<10; i++)
                scanf("%d", &s);
       
        for(i=0; i<m; i++)
        {
                p1 = &s;
                p2 = &s;
                exchange(p1, p2);
        }
       
        for(i=0; i<10; i++)
        {
                printf("%d", s);
        }
}

void exchange(int *x,int *y)
{
        int temp;
       
        temp = *x;
        *x = *y;
        *y = temp;
}
页: [1]
查看完整版本: 求助