初学C,一段代码检查很多遍都没错,但是VC++确实提示有一个错误。

代码:intmax(inta,intb);voidmain(){intx,y,z;intmax(inta,intb);printf("inputtwonumbers:\n... 代码:
int max(int a,int b);void main(){ int x,y,z; int max(int a,int b); printf("input two numbers:\n"); scanf("%d%d",&x,&y); z=max(x,y); printf("maxmum=%d,z);} int max(int a,int b) { if(a>b)return a;else return b; }
报错:
Compiling...math.cE:\math\math.c(6) : warning C4013: 'printf' undefined; assuming extern returning intE:\math\math.c(7) : warning C4013: 'scanf' undefined; assuming extern returning intE:\math\math.c(9) : error C2001: newline in constantE:\math\math.c(10) : error C2143: syntax error : missing ')' before '}'E:\math\math.c(13) : error C2181: illegal else without matching ifE:\math\math.c(13) : error C2065: 'b' : undeclared identifierE:\math\math.c(13) : warning C4098: 'main' : 'void' function returning a value执行 cl.exe 时出错.
math.obj - 1 error(s), 0 warning(s)
帮解答,谢谢!
展开
 我来答
ltc1002011
2014-01-03 · TA获得超过1636个赞
知道小有建树答主
回答量:446
采纳率:50%
帮助的人:357万
展开全部
因为你未包含stdio.h头文件。
另外第二个"int max(int a,int b);"重复声明了。应该删除。
printf("maxmum=%d,z);这句少了一个"号。

帮你改正:
#include<stdio.h>
int max(int a,int b);
void main()
{
int x,y,z;
//int max(int a,int b); //删除这行
printf("input two numbers:\n");
scanf("%d%d",&x,&y);
z=max(x,y);
printf("maxmum=%d",z); //这里加回一个"号
}

int max(int a,int b)
{
if(a>b)return a;
else return b;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gaoliinsi
2014-01-03
知道答主
回答量:20
采纳率:0%
帮助的人:11.6万
展开全部
你把第一行的max声明去掉。
或者把里面的max方法声明去掉试试看。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友98d12d5
2014-01-03 · 超过20用户采纳过TA的回答
知道答主
回答量:61
采纳率:0%
帮助的人:48.1万
展开全部
是否没有包括#include "stdio.h"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-01-04
展开全部
#include<stdio.h>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式