
#include<stdioh>void
maxfunction(int);void
main(){
int
max;
maxfunction(&max);
printf("三个数中最大值是%d",max);
fflush(stdin);
getchar();}void
maxfunction(int
i){
int
a,b,c,max;
printf("输入三个数?");
scanf_s("%d%d%d",&a,&b,&c);
max=a>ba:b;
max=max>cmax:c;
i=max;}如有疑问欢迎提问
正确代码:
#include<stdioh>
int max(int a,int b,int c);
int main()
{
int a = 0,b = 0,c = 0,x;
scanf("%d %d %d",&a,&b,&c);
x=max(a,b,c);
printf("max=%d\n",x);
return 0;
}
int max(int a,int b,int c)
{
int d=a;
if(b>d)d=b;
if(c>d)d=c:
return d;
}
运行截图:分析
你的错误1现在main函数是不能用void修饰的,如果你用的是旧的编译器,是可以使用void的,但是建议你用int,在main函数里面最后加个return 0;就好。
错误2,函数声明应该放在main函数外头,这里放在main函数上面。
错误3,字符问题,你的a,b,c不知道用的什么格式,就是这件事困恼了我好久,建议你在纯英文输入环境输入。
错误4,max函数里头“if(c>d)d=c:”最后冒号要改成分号。
#include <stdioh>
void max(int a,int b,int c);
int main(void)
{
int i,j,k;
printf(" 请输入3个整数(数与数之间用空格隔开):");
scanf("%d %d %d",&i,&j,&k);
max(i,j,k);
return 0;
}
void max(int a,int b,int c)
{
int temp;
if(a<b)
{
temp=b;
b=a;
a=temp;
}
if(a<c)
{
temp=c;
c=a;
a=temp;
}
if(b<c)
{
temp=c;
c=b;
b=temp;
}
printf(" 输入的3个整数中最大值为:%d\n",a);
}
程序如下:
#include<stdioh>
#define MAXSIZE 10
main()
{
int a[MAXSIZE];
int k;
printf("please inter ten number:");
for(k=0;k<MAXSIZE;k++)
{
scanf("%d",&a[k]);
}
Fun(a);
for(k=0;k<MAXSIZE;k++)
printf("%d,",a[k]);
}
void Fun(int a[])
{
int i;
int temp;
int MaxNum=a[0];
int maxIndex = 0;
int minIndex = 0;
int MinNum=a[0];
for(i=0;i<10;i++)
{
if(a[i]>MaxNum)
{
MaxNum=a[i];
maxIndex = i;
}
else if(a[i]<MinNum)
{
MinNum=a[i];
minIndex = i;
}
}
temp = a[maxIndex];
a[maxIndex] = a[minIndex];
a[minIndex] = temp;
}
扩展资料:
指针定义格式
类型名 函数名(函数参数列表);
其中,后缀运算符括号“()”表示这是一个函数,其前缀运算符星号“”表示此函数为指针型函数,其函数值为指针,即它带回来的值的类型为指针,当调用这个函数后,将得到一个“指向返回值为的指针(地址),“类型名”表示函数返回的指针指向的类型”。
“(函数参数列表)”中的括号为函数调用运算符,在调用语句中,即使函数不带参数,其参数表的一对括号也不能省略。其示例如下:int pfun(int, int);由于“”的优先级低于“()”的优先级,因而pfun首先和后面的“()”结合,也就意味着,pfun是一个函数。即:int (pfun(int, int));
接着再和前面的“”结合,说明这个函数的返回值是一个指针。由于前面还有一个int,也就是说,pfun是一个返回值为整型指针的函数。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)