#include <stdio.h> void swap(int *p1, int *p2); int main() { int a, b, c; int *pointer_1, *pointer_2, *pointer_3; printf("please enter a,b and c:\n"); scanf("%d,%d,%d", &a, &b, &c); pointer_1 = &a; pointer_2 = &b; pointer_3 = &c; if (*pointer_1 < *pointer_2) { swap(pointer_1, pointer_2); } if (*pointer_1 < *pointer_3) { swap(pointer_1, pointer_3); } if (*pointer_2 < *pointer_3) { swap(pointer_2, pointer_3); } printf("这三个数的从大到小的排序为:%d>%d>%d", *pointer_1, *pointer_2, *pointer_3); return 0; } void swap(int *p1, int *p2) { int temp = *p1; *p1 = *p2; *p2 = temp; }为什么只能输出第一个数
时间: 2024-02-23 11:57:22 浏览: 21
#include <stdio.h>
4星 · 用户满意度95%
根据你提供的代码,程序应该可以输出三个数按从大到小的顺序排列的结果。但是,如果程序只输出了第一个数,那么可能是因为你在输入三个数的时候没有用逗号隔开,而是用了空格或者其他字符。请确认你输入的三个数是否使用逗号隔开,并且是否按照正确的格式输入。如果输入格式正确,但程序仍然无法输出正确的结果,请提供完整的代码和输入数据,以便更好地帮助你解决问题。
阅读全文