注册 登录
编程论坛 C++教室

通过交换指针变量的值改变大小数字的位置,

想了很多网名 发布于 2020-01-07 19:24, 2167 次点击
#include <stdio.h>
int main()
{
    int *p1,*p2,*p,a,b;
    scanf("%d,%d",&a,&b);
    p1=&a;
    p2=&b;
    if(a<b)
    {
        p=p1;
        p1=p2;
        p2=p;
    }
    printf("a=%d,b=%d",a,b);
    printf("max=%d,min=%d",*p1,*p2);
    printf("\n");
    return (0);
}

编译没错,但是运行的时候就出错了,请大家帮忙看一下。。。。我用的软件是visual c++6.0   随便问一下这个软件怎么调试啊?   有没有调式的教学视频
4 回复
#2
rjsp2020-01-07 19:38
不管你用什么编译器,既然你的程序运行时需要输入,就应该贴出你的输入内容。
我不理解为什么必须的信息不肯讲出来
#3
想了很多网名2020-01-07 19:43
回复 2楼 rjsp
2,9
a=2,b=-858993460max=2,min=-858993460
Press any key to continue
上面就是运行的结果。
 我输入  2,9   
输出的应该是
a=2,b=9
max=9,min=2
这是怎么回事啊?
#4
rjsp2020-01-07 23:56
2,9 不行
试试 2, 9
#5
叶纤2020-01-08 16:17
回复 楼主 想了很多网名
#include <stdio.h>
int main()
{
    int a,b;
    scanf("%dChinese%d",&a,&b);//输入3Chinese2试一试你会发现新大陆
    int *p1_a=&a;
  int *p2_b=&b;
    if(a<b)
    {
       int p=*p1_a;
        
     *p1_a=*p2_b;
        *p2_b=p;
    }
    printf("a=%db=%d",a,b);
    printf("max=%d,min=%d",*p1_a,*p2_b);
    printf("\n");
    return (0);
}
1