VS2017,为什么输出有两个-858993460.


#define _CRT_SECURE_NO_WARNINGS
#include"stdio.h"

int main()
{
    void exchange(int*q1, int*q2, int*q3);
    int a, b, c;
    int *p1, *p2, *p3;
    printf("please enter three numbers:");
    scanf("%d,%d,%d", &a, &b, &c);
    p1 = &a; p2 = &b; p3 = &c;
    exchange(p1, p2, p3);
    printf("the order is:%d,%d,%d\n", a, b, c);
    return 0;
}

void exchange(int*q1, int*q2, int*q3)
{
    void swap(int *pt1, int *pt2);
    if (*q1 < *q2)
        swap(q1, q2);
    if (*q1 < *q3)
        swap(q1, q3);
    if (*q2 < *q3)
        swap(q2, q3);
}

void swap(int *pt1, int *pt2)
{
    int temp;
    temp = *pt1; *pt1 = *pt2; *pt2 = temp;
}

你输入的时候带逗号了么
scanf("%d,%d,%d", &a, &b, &c)要求输入的三个数之间加逗号,否则后面两个数无效

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632