c语言函数报错:error C2059: 语法错误:“类型"为什么?

我是一个c语言初学者,刚刚学了一点函数,于是自己动手写了以下代码:#include<stdio.h>#include<stdlib.h>intmax(inta,intb)... 我是一个c语言初学者,刚刚学了一点函数,于是自己动手写了以下代码:#include <stdio.h>#include <stdlib.h>int max(int a,int b){ int c = 0; c = b; if (a>b) c = a; return c;}int main(){ int a = 0;int b = 0; scanf("%d %d",&a,&b); a = max(a,b); printf("较大的数是%d",a); system("pause"); return 0;}由于电脑比较老旧,是32位,xp,我用的软件是visual studio 2010 pro,报错信息就是:c(3): error C2059: 语法错误:“类型”但是我检查了一下第三行,也和教学视频中老师写的代码比对了一下,感觉并没有什么错误,请大神解答一下错误在哪. 展开
 我来答
cdyzxy
2019-08-26 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.4万
采纳率:84%
帮助的人:3676万
展开全部

是否max函数与库中的函数重定义了? 可试着将你程序中所有max改成mmax再编译一下

追问
哇真的是,我之前就想max这么大众的词语会不会用过,果然如此,谢谢你啦.
GTA小鸡
高粉答主

2019-08-26 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2.6万
采纳率:78%
帮助的人:1.3亿
展开全部
在vs中,stdlib.h中定义了max()宏,你的函数max与之重名了,导致函数名max被当做宏展开了,进而引发了语法错误。将你的函数改为其他名称,例如my_max即可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
琴旧可1
2019-08-26 · TA获得超过3620个赞
知道大有可为答主
回答量:4881
采纳率:85%
帮助的人:223万
展开全部
你用#define b定义了一个宏,但没有定义它的展开代码。当预处理器对你的源码进行预处理时,会依次遇到如下的宏调用:
1、b+1;经处理后变成了+1;没有语法错误;
2、printf("%d\n",b);经处理后变成了printf("%d\n",);有语法错误,这就是问题所在。
可将#define b定义成#define b 100(或其它整数),来避免这个错误。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
童之新
2019-08-26 · TA获得超过228个赞
知道小有建树答主
回答量:289
采纳率:60%
帮助的人:81.4万
展开全部
看看逗号是不是中文符号,整体上没有什么语法错误,那么就可能是符号没有用英文符号
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式