c++ 下面出现的错误

来源:百度知道 编辑:UC知道 时间:2024/06/23 19:15:00
#include<iostream.h>
int main()
{
char a[33];
int* c;
int j,i,k,p,s,n;
p=0;
s=0;
int * rs(char b[33])
{
int result[4];

for(j=1;j<=32;j++)
{
if(j%8==0)
{
for(i=j-7;i<=j;i++)
for(k=1;k<=7-p;k++)
{
b[i]*=2;
p++;
}
p=0;
for(i=j-7;i<=j;i++)
result[s]+=b[i];
s++;
}
}
return result;
}
while(cin>>n)
{
for(i=1;i<=n;i++)
{
cin>>a;
c=rs(a);
for(j=0;j<4;j++)
if(j==3)
cout<<c[j];
else
cout<<c[j]<<'.';
}

}
E:\xuexi\c++\1.cpp(10) : error C2601: 'rs' : local function definitions are illegal
#include<iostream.h>
int main()
{

#include<iostream.h>
int main()
{
char a[33];
int* c;
int j,i,k,p,s,n;
p=0;
s=0;
int *rs(char b[33])
{
int result[4];
for(j=1;j<=32;j++)
{
if(j%8==0)
{
for(i=j-7;i<=j;i++)
for(k=1;k<=7-p;k++)
{
b[i]*=2;
p++;
}
p=0;
for(i=j-7;i<=j;i++)
result[s]+=b[i];
s++;
}
}
return result;
} //rs()定义到这里结束了,是你的初衷吗?

while(cin>>n)
{
for(i=1;i<=n;i++)
{
cin>>a;
c=rs(a);
for(j=0;j<4;j++)
if(j==3)
cout<<c[j];
else
cout<<c[j]<<'.';
}

}

把子函数定义提出到main函数外(之前)
#include<iostream.h>

int result[4];

int* rs(char b[33])
{
int j,i,k,p,s;
p=0;
s=0;

for(j=1;