2014-05-09 2 views
-1

나는 생년월일과 함께 사용자의 이름을 사용하고 가장 어린 사용자를 인쇄하는 프로그램을 작성하고 있습니다. 나는이 작업을 수행하는 두 개의 구조체를 사용하고 있습니다 :두 구조 배열 변수 사이의 데이터 복사

struct date 
{ int day;  
    int month;  
    int year;  
};   

struct person  
{ char name[80]; 
    struct date birth; 
}; 

그리고 두 변수 :

struct person p[5], final; 

사용자가 변수 페이지에 투입됩니다. 그런 다음 루프를 사용하여 첫 번째 사용자 데이터를 최종적으로 최종 사용자와 비교합니다. 마지막으로 남겨 두어야 할 것은 내가 가장 어린 사용자 인 경우 데이터입니다. 내가 마지막으로 페이지의 이름을 넣어하려고 할 때

그러나,이 컴파일러 오류가 발생합니다 :

error: incompatible types when assigning to type ‘char[80]’ from type ‘char *’ 
    final.name = p[i].name; 

은 누군가가 제발 도와 드릴까요!

감사합니다 !!!

편집 :

내가 (초을 누락 죄송합니다)이 같은 데이터를 통해 복사

final.name = p[i].name; 
final.birth.day = p[i].birth.day; 
final.birth.month = p[i].birth.month; 
final.birth.year = p[i].birth.year; 
+0

문자열이나 전체 구조체를 복사 하시겠습니까? – this

+0

Laimh101, 질문을 편집하고 과제를 작성하는 코드를 보여주십시오. –

답변

0

당신은 그와 같은 배열에 할당 할 수 없습니다. 대신 strcpy을 사용하십시오.

strcpy(final.name, p[i].name); 

string.h을 반드시 포함해야합니다.