本帖最后由 jackz007 于 2024-10-20 18:49 编辑
如果键盘输入语句这样写: scanf("%d%d%d", &a, &b, &c) ;
那么,键盘输入必须是这样: 就是说,1 5 3 之间的分隔字符是空格,不可以使用逗号
如果键盘输入语句是这样写的: scanf("%d,%d,%d", &a, &b, &c) ;
那么,键盘输入才可以这样: 通常情况下,为了避免不必要的麻烦,应该尽量选择前者,也就是以空格作为输入分隔符。
此外,利用三目运算符可以大幅度简化代码:#include <stdio.h>
int main(void)
{
int a, b, c, t ;
int *pa, *pb, *pc ;
printf("请输入三个数:") ;
scanf("%d%d%d", &a, &b, &c) ;
pa = (a < b && a < c) ? & a : (b < a && b < c) ? & b : & c ;
pc = (a > b && a > c) ? & a : (b > a && b > c) ? & b : & c ;
pb = (b + c == * pa + * pc) ? & a : (a + c == * pa + * pc) ? & b : & c ;
printf("%d <= %d <= %d\n", *pa, *pb, *pc) ;
return 0;
}
编译、运行实况:D:\[exercise]\C>cl x.c
用于 x86 的 Microsoft (R) C/C++ 优化编译器 19.31.31107 版
版权所有(C) Microsoft Corporation。保留所有权利。
x.c
Microsoft (R) Incremental Linker Version 14.31.31107.0
Copyright (C) Microsoft Corporation. All rights reserved.
/out:x.exe
x.obj
D:\[exercise]\C>x
请输入三个数:1 5 3
1 <= 3 <= 5
D:\[exercise]\C>
|