c语言用函数求最大值的程序出错,求解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言用函数求最大值的程序出错,求解相关的知识,希望对你有一定的参考价值。

这是vc6.0编译的结果以及错误解释
#include <stdio.h>#include <stdlib.h>
void main()

int max(int x, int y); int a,b,c;
scanf("%d,%d",&a,&b); c = max(a , b); printf("max is = %d\n",c); system("pause");
int max(int x, int y) int z; z = x>y ? x:y; return (z);


D:\程序\大时代\sadasd.c(9) : error C2059: syntax error : 'type'D:\程序\大时代\sadasd.c(18) : error C2059: syntax error : 'type'
--------------------------------------------------------------------
以下是vs2013编译的结果

#include <stdio.h>#include <stdlib.h>#define _CRT_SECURE_NO_WARNINGS /**不知道#define _CRT_SECURE_NO_WARNINGS去百度)
void main()

int max(int x, int y); int a, b, c;
scanf("%d,%d", &a, &b); c = max(a, b); printf("min is = %d\n", c); system("pause");
int max(int x, int y) int z; z = x>y ? x : y; return (z);


3 IntelliSense: 应输入标识符 c:\Users\成\Documents\Visual Studio 2013\Projects\Project1从\Project1从\源.c 10 6 Project1从 4 IntelliSense: 应输入标识符 c:\Users\成\Documents\Visual Studio 2013\Projects\Project1从\Project1从\源.c 19 5 Project1从 5 IntelliSense: 应输入“;” c:\Users\成\Documents\Visual Studio 2013\Projects\Project1从\Project1从\源.c 20 1 Project1从错误 1 error C2059: 语法错误:“类型” c:\users\成\documents\visual studio 2013\projects\project1从\project1从\源.c 10 1 Project1从错误 2 error C2059: 语法错误:“类型” c:\users\成\documents\visual studio 2013\projects\project1从\project1从\源.c 19 1 Project1从
------------------------------------------------

我是初学者,现在学到函数,我打那个程序,就是用函数来求最大值。结果出了问题,这个程序是照着视频里打的,视频里编译没有问题,我用vs2013和vc6.0编译的,结果都出错,而且vs2013指出的错误比vc6.0还多,我看提示也不知道错在哪里,语法?算法?

#include <stdio.h>
#include <stdlib.h>
void main()

 int mmax(int x,int y); //可能是有max这个库函数,换个函数名
 int a,b,c;
 scanf("%d,%d",&a,&b); //建议改成scanf("%d%d",&a,&b); 
 c = max(a , b); 
 printf("max is = %d\\n",c); 
 system("pause");

int mmax(int x, int y)

int z;
z = x>y ? x:y;
return (z);

追问

提示
错误 1 error C2059: 语法错误:“类型”
错误 2 error C2059: 语法错误:“类型”

追答

你是VC6.0吗?我的没提示错误啊

追问

用vs2013和vc6.0都编过,
都提示语法错误,并指向这里 int mmax(int x,int y);
int mmax(int x,int y)
............

追答

我用VC再测试了一次,没错
建议你把Debug文件删除了重新试一次

追问

能运行了

参考技术A 函数不能在主函数里定义,应该放到主函数外。这样编译OK了追问

为什么群里的人运行都可以?而且视频里的记录都没有问题吧,我是照视频里的程序打的

追答

看错了,你的代码太乱。不过是正确的,理论上能运行。
因为max是stdlib.h里面的函数,C语言不支持重载,但C++支持。所以你要把文件改成.cpp就行了,

追问

你把我说的“视频里的记录”都无视了么,我可是照视频里写的程序打的,难道还有误?更何况视频记录是可以运行,而且我把这个程序复制给群里,要求他们实验下,结果他们都说可以。为什么我不可以?
即使改成CPP,还是提示语法错误。

追答

不可能,我已经试过了。我已经说过了你的程序是没问题的,因为你从视频里照敲的,而且我已经看过了。如果把文件改成cpp格式是能运行的,我已经试验过了,不然也不会来回答你。

参考技术B #include <stdio.h>#include <stdlib.h>int max(int x, int y); void main() int a,b,c; scanf("%d,%d",&a,&b); c = max(a , b); printf("max is = %d\n",c); system("pause");int max(int x, int y) int z; z = x>y ? x:y; return z;

我改成这样后可以运行。追问

不行,提示栏内,提示语法错误

追答

。。怎么会这样?要不试试重新建立一个工程编译试一试

追问

重建也没用

追答

把函数名max改一下试试

追问

改成什么样?楼上那样?我试过还是提示语法错误

追答

我晕。。我在linux上没有任何提示,这个我真是无力了。

参考技术C int max(int x, int y);这个声明应该放在main函数的外面,函数里面怎么可以声明函数呢?
#include <stdio.h>
#include <stdlib.h>
int max(int x, int y);
void main() int a,b,c; scanf("%d,%d",&a,&b);
c = max(a , b);
printf("max is = %d\n",c);
system("pause");
int max(int x, int y)

int z; z = x>y ? x:y;
return (z);追问

vs2013提示 语法错误 "类型",vc6.0中提示syntax error

追答

你检查一下标点符号,特别是逗号,分号,引号这类的,是不是用的是中文的标点,编译器不认识的。

以上是关于c语言用函数求最大值的程序出错,求解的主要内容,如果未能解决你的问题,请参考以下文章

MATLAB编程求最小值

c语言求最大公约数

大神求解,C语言问题

C语言程序6174问题

设计函数实现求数组中的最大值,用该函数计算某班级学生的最高分.C语言

c语言计算数组的长度,最大最小值 补全程序?