#include <stdio.h>
typedef struct card
{
int kind;
int num;
} card;
void pair(card* you);
void triple(card* you);
//void fullhouse(card* you);
int main()
{
int i=0;
card you[5] = {0};
printf("카드의 종류 와 번호를 입력 하시오\n");
printf(" 1. ♠\t 2. ◆\t 3. ♥\t 4. ♣\t \n\n");
for(i=0; i<5; i++)
{
scanf("%d %d",&you[i].kind,&you[i].num);
}
for(i=0; i<5; i++)
{
printf("카드 종류는 %d 이고 번호는 %d 이다 \n",you[i].kind,you[i].num);
}
pair(you);
triple(you);
//fullhouse(you);
return 0;
}
void pair(card* you)
{
printf("페어 함수 들어옴\n\n");
int i,j=0;
int count=0;
for(i=0; i<5; i++)
{
j=i+1;
for(;j<5; j++)
{
if(you[i].num == you[j].num)
{
count++;
}
}
}
//printf("%dnn", count);
if(count==1)
printf("원페어 입니다.\n");
else if(count==2)
printf("투페어 입니다.\n");
}
void triple(card* you)
{
printf("트리플 함수 들어옴\n");
int i,j=0,k=0;
int count=0;
for(i=0; i<5; i++)
{
j=i+1;
for(;j<5; j++)
{
if(you[i].num == you[j].num)
{
for(; k<5; k++)
{
k=j+1;
if(you[i].num == you[k].num)
{
count++;
break;
}
}
if(count==1)
break;
}
if(count==1)
break;
}
}
if(count==1)
printf("트리플 입니다.\n\n");
}
이러한 코드를 했을때
트리플 에서 무한 루프에 빠지게 됩니다.
이렇게 되는데 어느 부분에서 무한 루프로 빠지게 되는걸까요 ?