c语言出现Users\Administrator\Desktop\Calendar.c(13) : error C2059: syntax error : '{'为什么意思?

部分程序(a[13]已定义)if((i%4==0)&&(i%100==0))a[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};e... 部分程序(a[13]已定义)
if((i%4==0)&&(i%100==0))
a[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};
else a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
for(m=1;m<k;m++)
number+=a[m];
number+=q;
printf("´Ó1990Äêµ½½ñÌìÒ»¹²%dÌì\n",number);
}
错误如下
C:\Users\Administrator\Desktop\Calendar.c(13) : error C2059: syntax error : '{'
C:\Users\Administrator\Desktop\Calendar.c(14) : error C2059: syntax error : '{'
展开
 我来答
金色潜鸟
推荐于2016-10-10 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5519万
展开全部
声明时初始化允许写:
int a[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};
声明了 int a[13];
语句中下标不能用13,只能 0 到 12 。13 超界了。
也不允许 有 a[13]={0,31。。 这样的非法的赋值。
一般这种程序定义2维数组:
int a[2][13]={ {0,31,28,31,30,31,30,31,31,30,31,30,31},
{0,31,29,31,30,31,30,31,31,30,31,30,31} };
int year=1900, number=0, leap;
if( (year%4==0)&&(year%100 !=0) || (year % 400 ==0 ) ) leap=1; else leap = 0;
// 闰年条件
然后 用 a[leap][m] 统计天数:
for(m=1;m<k;m++) number+=a[leap][m];
number+=q;
匿名用户
2013-07-19
展开全部
数组只有初始化时直接赋值,其它时候只能对单个元素赋值或者整体赋值。可以这样
int a[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};

if((i%4==0)&&(i%100==0))
a[2]=29;
else a[2]=28;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yuantailing
2013-07-18 · TA获得超过2545个赞
知道小有建树答主
回答量:1167
采纳率:92%
帮助的人:639万
展开全部
直译就是”表达式错误(在第13行的大括号处)“,说明在大括号之前至少有一处语法错误。

a[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};这一句不能这么写,数组不能直接赋值,只有初始化的时候可以这么写。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
billrob
2013-07-18 · 超过12用户采纳过TA的回答
知道答主
回答量:23
采纳率:0%
帮助的人:26.1万
展开全部
13行或者14行 有语法错误,估计是标点符号或者是大括号的问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lidianchao5
2013-07-19
知道答主
回答量:21
采纳率:0%
帮助的人:2.6万
展开全部
a<12>,把零去掉。润年判断错误,题目是不是第几天呀
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式