oj8k 发表于 2019-2-24 04:15:46

小甲鱼指针42级里的3个数字排列大小

为什么我在vc++6.0中打了代码之后的运行的结果例如 输入 3 4 5结果得到的是 3 5 4.
但是我在vs2013里面同样的代码结果是 3 4 5到 5 4 3.确认过代码无问题。
同时我想知道例如
       if(a<b)
        {此处利用子函数交换a,b位置}
        if(a<c)这个地方进行比较的a的值是原来输入的a的值还是上一语句运行之后交换过后a的值呢。谢谢大家啦。

oj8k 发表于 2019-2-24 04:19:30

我顶

oj8k 发表于 2019-2-24 04:20:01

感谢各位大屌

910201513 发表于 2019-2-24 11:23:03

我觉得,你把代码发上来会有比较多的人回复{:5_110:}{:5_110:}{:5_110:}

910201513 发表于 2019-2-24 11:54:13

#include<stdio.h>

void swap1(int x, int y), swap2(int *px, int *py), swap3(int *px, int *py);

int main(void)
{
        int a, b;
        int * pa = &a, * pb = &b;

        a = 1;
        b = 2;
        swap1(a, b);                                        //使用变量a,b调用函数swap1()
        printf("swap1:a=%d,b=%d\n",a,b);

        a = 1;
        b = 2;
        swap2(pa, pb);                                        //使用指针pa,pb调用函数swap2()
        printf("swap2:a=%d,b=%d\n", a, b);

        a = 1;
        b = 2;
        swap3(pa, pb);                                        //使用指针pa,pb调用函数swap3()
        printf("swap3:a=%d,b=%d\n", a, b);

        return 0;
}

void swap1(int x, int y)
{
        int t;
        t = x;
        x = y;
        y = t;
}

void swap2(int * px, int * py)
{
        int t;
        t = *px;
        *px = *py;
        *py = t;
}

void swap3(int * px, int * py)
{
        int*pt;
        pt = px;
        px = py;
        py = pt;
}

910201513 发表于 2019-2-24 11:56:57

关于指针交换两数的相关代码
页: [1]
查看完整版本: 小甲鱼指针42级里的3个数字排列大小