2013-11-10 92 views
0

我想创建一个内部具有数组的结构数组,并将所有元素赋值并打印出来,但只有两个数组的第一个元素才会被初始化。我会很感激一些帮助。处理结构数组内部的数组

#include <stdio.h> 
#include <stdlib.h> 
typedef struct el{ 
    int a[5]; 
    int id; 
} structure; 
int main() 
{ 
    int i,j; 
    structure kot[5]; 
    for(i = 0; i < 5; i++) 
    { 
     scanf("%d", &kot[i].id); 
     for(j = 0; i < 5; i++) 
     kot[i].a[j] = 1; 

    } 
    for(i = 0; i < 5; i++) 
    { 
    printf("Id: %d ", kot[i].id); 
    printf(". Array inside: "); 
    for(j = 0; j < 5; j++) 
     printf("%d ", kot[i].a[j]); 

    printf("\n"); 
    } 


    return 0; 

} 
+0

请得到答案后不编辑的问题。 – haccks

回答

2

变化

for(j = 0; i < 5; i++) 

for(j = 0; j < 5; j++) 
+1

好眼睛,漂亮。 –

+0

我刚刚做到了。在为id字段输入5个数字后,程序崩溃。 – Arlind

+0

@Arlind;它不应该。这是你的[工作代码](http://ideone.com/FQ0RAv)。 – haccks