구조체 재질문입니다.
횃대비
질문 내용 :
#includestdio.h
#includestdlib.h
#define size 5
struct student{
int number;
char name[20];
char birthday[11];
char gender[2];
char address[100];
};
void main(void)
{
int i, a=0;
struct student info[size]={
{60091959,권영준, 1990.02.26,M,경기도 안산시 단원구 고잔2동 주공아파트 504-402},
{12345678,신사임당,1504.10.29,F,강원도 강릉시 북평촌 신사임당로 123},
{12344321,유관순,1902.12.16,F,서울시 서대문구 홍제동 대한독립만세로 4567},
{19877890,김철수,1993.02.24,M,경기도 용인시 처인구 포곡읍 1231},
{19876542,이하늘,1992.11.23,M,경기도 수원시 영통구 675}
};
for(i=0; isize; i++)
{
if(info[i].gender == F)
{
a++;
printf(여학생 %d\n,a);
printf(=========\n);
printf(학 번 : %d\n, info[i].number);
printf(이 름 : %s\n, info[i].name);
printf(생년 월일 : %s\n, info[i].birthday);
printf(주 소 : %s\n, info[i].address);
}
}
}
F 로 하는거 문자열 맞지 않나요?? 안되네요...
조건문을 숫자로 바꾸어서 하면 되는데....ㅠ.ㅠ....
이유가??ㅠ/ㅠ 문자열은 비교가 안되는건가요?ㅠㅠ
-
쌍둥이자리
그리고 스트링하나만을 사용하시는거라면 굳이 스트링배열만고 그냥 char로 비교하셔도되겠네요^^
-
지우
string 클래스가 아닌 순수 C/C++ 에서의 문자열 비교는 strcmp() 를 사용합니다.