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 <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格式是能运行的,我已经试验过了,不然也不会来回答你。
我改成这样后可以运行。追问
不行,提示栏内,提示语法错误
追答。。怎么会这样?要不试试重新建立一个工程编译试一试
追问重建也没用
追答把函数名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语言用函数求最大值的程序出错,求解的主要内容,如果未能解决你的问题,请参考以下文章