c语言指针,输入a,b,c三个数。将最大的数输出

来源:百度知道 编辑:UC知道 时间:2024/06/03 08:10:37
c语言指针,输入a,b,c三个数。将最大的数输出

上面兄弟的程序在VC6.0里虽然编译和连接都没什么问题,但是是得不出正确结果的,输入11,12,13只会显示11.这显然是不正确的.错误之处是下面这句
scanf("%d%d%d", &a, &b, &c); 应为scanf("%d,%d,%d", &a, &b, &c); 少了3个逗号.

以下是小弟写的 在VC6.0下调试通过:

#include <stdio.h>
void selmax(int *p1,int *p2,int *p3)
{
if (*p1<*p2) *p1=*p2;
if (*p1<*p3) *p1=*p3;
}

void main()
{
int a,b,c;
int *max=&a,*t1=&b,*t2=&c;

printf("请输入a,b,c三个数:\n");
scanf("%d,%d,%d",&a,&b,&c);
selmax(max,t1,t2);
printf("\n最大值为:%d\n",*max);
}

标准C调试通过,代码如下: (另外补充一下:以我人格担保不需要三个逗号,并且能输出正确答案!!!)

#include<stdio.h>
int swap(int *a, int *b, int *c)
{
int temp;
if(*a < *b)
{
temp = *a;
*a = *b;
*b = temp;
}
if(*a < *c)
{
temp = *a;
*a = *c;
*c = temp;
}
return *a;