初学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)
帮解答,谢谢! 展开
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)
帮解答,谢谢! 展开
4个回答
展开全部
因为你未包含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;
}
另外第二个"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;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你把第一行的max声明去掉。
或者把里面的max方法声明去掉试试看。
或者把里面的max方法声明去掉试试看。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是否没有包括#include "stdio.h"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-01-04
展开全部
#include<stdio.h>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询