typedef struct
{
char fname[100];
int calories;
} Food;
int main(void)
{
Food list[3] = {};
list[1] = { "sushi", 300 };
int i = 0;
//여기서 quit이 나오면 함수 입력 중단하고 싶은데
첫번쨰방법)
while(1)
{
gets_s(list[i].fname);
if (list[i].fname == "quit") break;
scanf("%d", list[i].calories);
i++;
}
두번쨰방법)
do
{
gets_s(list[i].fname);
scanf("%d", list[i].calories);
i++;
} while (list[i].fname != "quit");
세번쨰방법)
for (i = 0; ; i++)
{
gets_s(list[i].fname);
scanf("%d", list[i].calories);
if (list[i].fname == "quit") break;
}
printf("%d", i);
for (int j=0;j<i;j++) printf("%s %d", list[j].fname, list[j].calories);
return 0;
}
이렇게 셋다 해도 quit이후에도 계속 입력됩니다... 어디가 틀린걸까요 한번만 부탁드립니다.... ㅜㅜ
strcmp 임마
문자열은 == 로 비교못해
문자열 자체는 그 문자열의 주소값을 가짐. 그래서 ==으로 비교하면 문자열이 아니라 주소값이 일치하는지 비교하는 거
감사합니다 ++++
앗 위에 이모티콘 썼는데 안되네요 진짜 감사합니다
님 그런데 while( strcmp(list[i].fname,"quit") != 0 ) 해도 안되는데 어떻게 해야 할까요..? ㅜㅜ