#include<stdio.h>
#include<conio.h>
main()
{
int swap(int m,int n);
int i,j;
scanf("%d%d",&i,&j);
swap(i,j);
printf("%d\t%d",i,j);
getch

展开全部
收起
4回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • Madeline

    17人对此回答表示赞同

    因为swap中的mn都是局部变量,里面怎么操作对主函数中的i,j都是没关系的,所以需要用指针,通过指针,改变指针指向的i,j地址值,来达到改变i,j的目的
    展开
    17
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Black&RED

    12人对此回答表示赞同

    ??这样的程序是没任何用的,因为你定义的函数根本没有返回值,在定义函数中执行过的变量根本不会回到主函数中,因此实际上变量的值根本未作任何改变。所以为什么你说最后输出的还是原始顺序,原因就在这里。
    ??事实上,你定义的swap函数可以通过一个简单的二元整型数组实现,因为return语句只能带回一个值,而你的函数中存在两个变量,是无法直接被带回的。使用数组的话,就可以通过swap函数在原始数组里直接进行修改,这样就避免使用return语句带回,因为此时数组里的各变量的值已经发生改变,所以直接输出即可
    展开
    12
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • 空空如也

    10人对此回答表示赞同

    int swap(int m,int n)
    { int k;
    {k=m;m=n;n=k;}
    }
    展开
    10
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Piper

    5人对此回答表示赞同

    要用指针,修改如下:

    //---------------------------------------------------------------------------

    #include<stdio.h>
    #include<conio.h>
    main()
    {
    int swap(int *m,int *n);
    int i,j;
    scanf(&q
    展开
    5
    0回复
    发布于 6年前

    评论(0)

    收起评论

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部