vC++问题

来源:百度知道 编辑:UC知道 时间:2024/09/23 20:40:18
函数功能是:把已赋值的数组a[200](全为4位数)中的4个数值都为奇数的数按从小到大的顺序赋值给b[200]数组;
不知哪儿错了,总是出错,请高手帮忙看看这段代码,谢谢!
void jsVal()
{
int i,q,b,s,g,t,temp=0;
int j=0;
for (i=0;i<200;i++)
{q=a[i]/1000;
b=a[i]%1000/100;
s=a[i]%100/10;
g=a[i]%10;
if ((q%2!=0)&&(b%2!=0)&&(s%2!=0)&&(g%2!=0))
{cnt++;
b[j]=a[i];
j++;
}
}
for(i=0;i<j-1;i++)
for(t=i+1;t<j;t++)
if (b[i]<b[t])
{temp=b[i];
b[i]=b[t];
b[t]=temp;
}
}
错误提示:
C:\WEXAM\00000000\PROG.C(16) : error C2109: subscript requires array or pointer type
C:\WEXAM\00000000\PROG.C(16) : error C2106: '=' : left operand must be l-value
这是什么意思?

C:\WEXAM\00000000\PROG.C(16) : error C2109: subscript requires array or pointer type

就是说prog.c文件的第16行:需要一个数组或指针类型的变量

你把b用了2次。
int i,q,b,s,g,t,temp=0;
b[j]=a[i];
第1个b换个名字

b有不同定义,要用不同的名字