请帮我看看以下程序错误在哪,老是出现相同的错误。。不知道问题出在哪里。。

#include<stdio.h>#defineMAX200inta[MAX],b[MAX],cnt=0;voidwriteDat();voidjsVal(){inti,... #include<stdio.h>
#define MAX 200
int a[MAX],b[MAX],cnt=0;
void writeDat();
void jsVal()
{
int i,j,b,c,d,e,temp;
for(i=0;i<200;i++)
{b=a[i]/1000;
c=a[i]%1000/100;
d=a[i]%100/10;
e=a[i]%10;
if(b%2==1 && c%2==1 && d%2==1 && e%2==1)
{
b[cnt]=a[i];
cnt++;
}
}
for(i=0;i<cnt-1;i++)
for(j=i+1;j<cnt;j++)
if(b[i]<b[j])
{temp=b[i];
b[i]=b[j];
b[j]=temp;
}
}

void readDat()
{
int i;
FILE *fp;
fp=fopen("IN.DAT","r");
for(i=0;i<MAX;i++)
fscanf(fp,"%d",&a[i]);
fclose(fp);
}

void main()
{
int i;
readDat();
jsVal();
printf("满足条件的数=%d\n",cnt);
for(i=0;i<cnt;i++)
printf("%d\n",b[i]);
printf("\n");
writeDat();
}

void writeDat()
{
FILE *fp;
int i;
fp=fopen("out.dat","w");
fprintf(fp,"%d\n",cnt);
for(i=0;i<cnt;i++)
fprintf(fp,"%d\n",b[i]);
fclose(fp);
}

F:\WEXAM\35000001\PROG1.C(15) : error C2109: subscript requires array or pointer type
F:\WEXAM\35000001\PROG1.C(15) : error C2106: '=' : left operand must be l-value
F:\WEXAM\35000001\PROG1.C(21) : error C2109: subscript requires array or pointer type
F:\WEXAM\35000001\PROG1.C(21) : error C2109: subscript requires array or pointer type
F:\WEXAM\35000001\PROG1.C(22) : error C2109: subscript requires array or pointer type
F:\WEXAM\35000001\PROG1.C(23) : error C2109: subscript requires array or pointer type
F:\WEXAM\35000001\PROG1.C(23) : error C2109: subscript requires array or pointer type
F:\WEXAM\35000001\PROG1.C(23) : error C2106: '=' : left operand must be l-value
F:\WEXAM\35000001\PROG1.C(24) : error C2109: subscript requires array or pointer type
F:\WEXAM\35000001\PROG1.C(24) : error C2106: '=' : left operand must be l-value
执行 cl.exe 时出错.
题目。
展开
 我来答
匿名用户
2012-02-16
展开全部
在主函数中b定义的是int,在函数外b定义为数组,
换一个变量名就可以了
slayerliu001
2012-02-16 · TA获得超过274个赞
知道小有建树答主
回答量:346
采纳率:0%
帮助的人:331万
展开全部
你在jsVal()里面重新声明了 int b,这时候 jsVal()里面的b就不是数组了,你还用b[cnt]=a[i];这种当然错啦。 你把数组名改一下吧,不建议用a阿b阿这种,用点有明确意义的阿,比如apple[]。。。举个例子
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tms20091117
2012-02-16 · TA获得超过236个赞
知道答主
回答量:99
采纳率:0%
帮助的人:97.6万
展开全部
第6、14、17、18花括号配对后,i、j没有定义。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
binglink
2012-02-16 · TA获得超过1101个赞
知道小有建树答主
回答量:639
采纳率:0%
帮助的人:464万
展开全部
b不是数组, 你当成数组来用了.
追问
b是数组啊。一开始就定义了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式