#include <stdio.h>
int main(void)
{
void exchange(int * p1,int * p2,int * p3);
int *p1,*p2,*p3,a,b,c;
scanf("%d %d %d ",&a,&b,&c);
p1 = &a;
p2 = &b;
p3 = &c;
printf("a = %d,b = %d

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

    2044人对此回答表示赞同

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

    17人对此回答表示赞同

    这句有问题scanf("%d %d %d ",&a,&b,&c);当%d空白结尾时 scanf会跳过空白 去读下一个数据据,所以你输完1 3 2后输入任意数据它才会继续向下执行
    展开
    17
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Arianna

    12人对此回答表示赞同

    因为scanf函数输入结束时需要标志,即回车
    展开
    12
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Cora

    8人对此回答表示赞同


    scanf("%d %d %d",&a,&b,&c);

    改成
    scanf("%d %d %d/n",&a,&b,&c);就可以了 运行时,输入1 3 2加回车
    展开
    8
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Ian

    2人对此回答表示赞同

    原因在于scanf("%d %d %d ",&a,&b,&c);这里%d之前空格存在问题。
    修改为一个。 scanf("%d %d %d",&a,&b,&c);

    修改后:

    #include <stdio.h>
    int main(void)
    {
    void exchange(int * p1,int * p2,int * p3);
    int *p1,*p2,*
    展开
    2
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • 千层月饼

    2人对此回答表示赞同

    这是一个简单的排序过程,你输入的三个数字之前是有空格的或者其它合法的分隔符,程序就是知道你的某个数输入结束了。因为数字有可能不止一位的,比如2012,有4个数字,程序怎么知道你是输入一个数呢,还是4个数呢,对吧。
    输入回车表示输入结束了,程序开始运行,这个过程就显得很自然了。
    展开
    2
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • 置之度外

    1人对此回答表示赞同

    printf("max = %d\n mid = %d\n min = %d\n",*p1,*p2,*p3);
    主要就是这个原因,%d就是输出了,后面还加了个\n,
    展开
    1
    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
扫码咨询

扫码咨询套餐

回到顶部