代码还没有写完,写到贴上来的最后两行哪里j划了小红线,为什么报错呢?谢谢
#include<stdio.h>
int main()
{
int m,n,i,a,b,c,a[900],j;
while(scanf("%d%d",&m,&n)!=EOF){
j=0;
for(i=m;i<=n;i++){
a=i/100;
b=(i/10)%10;
c=i%10;
if(a*a*a+b*b*b+c*c*c==i){
a[j]=i;
j++;
}
}
}
}
因为子文件中引用主程序定义的结构体出错。
解决:
将子程序文件中 子函数移至主文件。
结构体也是一种数据类型,只不过在这种数据类型中又包含了几个基本的数据类型。
构体变量在内存中的存放和基本数据类型变量在内存中的存放是不同的,基本数据类型的存放系统是会给分配一块连续的空间用来存放,而结构体变量确是不一定的。
扩展资料
结构体定义的几种形式:
1、最常用定义方式:定义结构体data,此时结构体相当于一个类型,比如int,如需使用此结构体,方法同int。
struct data
{
char aa;
char bb;
char cc;
};
struct data sum1, sum2;
2、定义结构体data同时,定义需要使用的结构体变量sum1,sum2。如后面再需要定义结构体变量,方法同1。
struct data
{
char aa;
char bb;
char cc;
int dd;
}sum1, sum2;
struct data sum3;
3、定义结构体时,结构体名称缺省,同时定义结构体变量sum1,sum2。但后面不可再定义结构体变量。
struct
{
char aa;
char bb;
char cc;
int dd;
}sum1, sum2;
struct sum3; <- 编译器报错
重复了,你有一个a的变量,又有一个a的数组
#include<stdio.h>