注册 登录
编程论坛 C语言论坛

清华出版社发行的教材,代码运行错误,请名位大神指导一下,谢谢

ambi34t 发布于 2023-03-24 12:31, 449 次点击
#include<stdio.h>
void swap(int *p1, int *p2)                                 /*自定义交换函数*/
{
    int temp;
    temp =  *p1;
    *p1 =  *p2;
    *p2 = temp;
}
void exchange(int *pt1, int *pt2, int *pt3)                         /*三个数由大到小排序*/
{
    if (*pt1 <  *pt2)
        swap(pt1, pt2);                                 /*调用swap函数*/
    if (*pt1 <  *pt3)
        swap(pt1, pt3);
    if (*pt2 <  *pt3)
        swap(pt2, pt3);
}
main()
{
    int a, b, c,  *q1,  *q2,  *q3;
    puts("Please input three key numbers you want to rank:");
    scanf("%d,%d,%d", &a, &b, &c);
    q1 = &a;                                 /*将变量a地址赋给指针变量q1*/
    q2 = &b;
    q3 = &c;
    exchange(q1, q2, q3);                     /*调用exchange函数*/
    printf("\n%d,%d,%d\n", a, b, c);
}
12 回复
#2
ambi34t2023-03-24 12:37
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录
#3
rjsp2023-03-24 13:39
代码运行错误
既然运行时错误,你只贴代码有个啥用?起码要告诉大家你输入了什么
#4
阳光上的桥2023-03-24 14:43
scanf("%d,%d,%d"
这种输入很容易运行错误,我一般不要逗号,这样输入的时候用空格、回车分开都可以:
"%d%d%d"
#5
不会游泳的虾2023-03-24 14:52
scanf("%d,%d,%d", &a, &b, &c); 输入三个数字时,以英文半角','逗号间隔如:8,5,9
#6
forever742023-03-24 16:24
楼主啊,教材是有毛病没错,但是不是这样表现的呀。
这次真的是您自己粗心的锅,不是教材的错哦。
从您拍照的位置稍稍往下多看几行,就不会出这个错了。
#7
ambi34t2023-03-24 20:40
回复 3楼 rjsp
这个教材是有代码编写的,我只是把他的代码复制在这里,我没有修改任何字符,并且我用他的代码运行,也是出错的
#8
ambi34t2023-03-24 20:45
回复 6楼 forever74
非常感谢大神提醒,是我在编译时忘记写逗号了,万分感谢!以后会注意的
#9
ambi34t2023-03-24 20:45
回复 5楼 不会游泳的虾
非常感谢,忘了写逗号
#10
ambi34t2023-03-24 20:46
回复 3楼 rjsp
我直接敲空格了
#11
ambi34t2023-03-24 20:48
回复 4楼 阳光上的桥
这个习惯好,谢谢提醒!
#12
追梦人zmrghy2023-03-25 13:12
当心 “清华出版社” 起诉你诋毁出版社的名誉。。。
#13
jm1094sd2023-04-22 14:45
运行了一下,好的。
1