계속 런타임 오류 RTE(nonzero return code) 가 발생하는데
원인을 잘 모르겠습니다ㅜㅜ
혹시 exit(1) 이 부분이 걸리는건가요 ?ㅜ
답변 주시면 감사하겠습니다.
#include <stdio.h>#include <string.h>#include <stdlib.h>voidset_friends(int[][10],int,int);intcount_parings(int[][10],int[],int);intmain(){inti=0,j=0;intn=0,m=0;//n은 학생 수, m 은 짝의 수 입니다.inttest_case=0;intresult=0;inttaken[10]={0,};intare_friends[10][10]={0,};chargar=0;scanf("%d",&test_case);if(test_case<0||test_case>50){printf("Error: 0<Testcase<= 50\n");exit(0);}while(test_case>0){// initialization.for(i=0;i<10;i++){taken[i]=0;for(j=0;j<10;j++){are_friends[i][j]=0;}}scanf("%d %d",&n,&m);// check boudary of nif(n<2||n>10){printf("Error: 2<=N<=10\n");exit(1);}elseif(n%2){printf("Error : The number of student must be even number.\n");exit(1);}// check boundary of mif(m<0||m>(n*(n-1))/2){printf("Error: 0<=M<=n(n-1)/2\n");exit(1);}// if m = 0if(m==0){printf("\n");test_case--;continue;}scanf("%c",&gar);// garbage.set_friends(are_friends,n,m);result=count_parings(are_friends,taken,n);printf("%d\n",result);test_case--;}printf("Program Exit.\n");return0;}// 짝을 입력받는 함수입니다.voidset_friends(intare_friends[][10],intn,intm){inti=0;intnum=0,len=0;intx=-1,y=-1;chartemp[81]={0,};fgets(temp,sizeof(temp),stdin);temp[strlen(temp)-1]='\0';len=(int)strlen(temp);for(i=0;i<len;i++){if(temp[i]!=' '){num=temp[i]-'0';if(num<0||num>n-1){printf(" 0<= Student number <= n-1.\n");exit(1);}if(x==-1){x=num;}else{y=num;are_friends[x][y]=1;are_friends[y][x]=1;x=y=-1;}}}}intcount_parings(intare_friends[][10],inttaken[],intn){intret=0,pair_with=0;intfirst_free=-1;for(inti=0;i<n;i++){if(!taken[i]){first_free=i;break;}}if(first_free==-1){return1;}for(pair_with=first_free+1;pair_with<n;pair_with++){if(!taken[pair_with]&&are_friends[first_free][pair_with]){taken[first_free]=taken[pair_with]=1;ret+=count_parings(are_friends,taken,n);taken[first_free]=taken[pair_with]=0;}}returnret;}
굳이 이유를 말씀드리자면 한 줄이 80자로 알고 있어서 입니다!ㅜ
fgets가 한 줄을 온전히 다 입력받지 않는다고 말씀하셨는데
제 생각엔 입력이 80자가 넘어가지 않을 것 같은데 그 부분이 어떻게 그리고 왜 문제가 되는지 알고 싶습니다!!
그리고 저 부분을 그럼 어떤 식으로 바꿔야 하나요??
doubleknd
계속 런타임 오류 RTE(nonzero return code) 가 발생하는데
원인을 잘 모르겠습니다ㅜㅜ
혹시 exit(1) 이 부분이 걸리는건가요 ?ㅜ
답변 주시면 감사하겠습니다.
9년 전