| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 303 人关注过本帖
标题:下面程序错误的原因是什么呀
收藏  订阅  推荐  打印 
舞动
Rank: 2
等级:注册会员
帖子:48
积分:606
注册:2007-7-25
下面程序错误的原因是什么呀

error C2447: missing function header (old-style formal list?)





#include<stdio.h>
{
char month_name(int n)
{
static char *name[]={

"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"
};
return((n<1||n>12)?name[0]:name[n]);
}
void main()
{
int i;
for(i=0; i<13; i++)
printf("%s\n", month_name(i));

}
}
error C2447: missing function header (old-style formal list?)
搜索更多相关主题的帖子: 程序错误  name  char  header  
2007-8-9 15:30
aipb2007
Rank: 12Rank: 12Rank: 12
来自:CQU
等级:贵宾
威望:40
帖子:2881
积分:29414
注册:2007-3-18

你外面那个大括号什么意思?很奇怪!
再有你函数的返回类型是char*不是char。

Fight  to win  or  die...
2007-8-9 18:20
野比
Rank: 12Rank: 12Rank: 12
等级:贵宾
威望:14
帖子:990
积分:10576
注册:2007-5-24

那个大括号很有意思...表示这里面是函数主体, 外面的是预编译的..
函数头要这么写:
char * month_name(int n)

2007-8-9 20:52
zhss5
Rank: 1
等级:新手上路
帖子:11
积分:210
注册:2005-12-22

char* month_name(int n)
{
static char *name[]={

"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"
};
return((n<1||n>12)?name[0]:name[n-1]);
}

2007-8-9 22:07
slblake
Rank: 1
等级:新手上路
帖子:13
积分:232
注册:2006-7-24

请问楼主传上来的是一个小程序呢,还是程序其中的一部分。
如果是整个程序,我觉最外面的那个大括号没什么必要。一部分的话,就另当别论了。

2007-8-10 19:14
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.076779 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved