void storeSum(term d[], int *totalD, int row, int column, int *sum)

{

if(*sum)

{

if(*totalD<MAX_TERMS)

{

d[++*totalD].row = row;

d[*totalD].col = column;

d[*totalD].value = *sum;

*sum=0;

}

}

else

{

fprintf(stderr, "Numbers of terms in product exceeds %d \n", MAX_TERMS);

exit(EXIT_FAILURE);

}

}


아마 형들도 잘 알고있을 희소행렬 곱 코드의 storesum 함수야

이게 sum!=0이면 d[].value에 저장하고 sum=0이면 "Numbers of terms in product exceeds %d \n"이 출력되면서 프로그램이 종료 되는데

굳이 그럴필요가 있나 생각이들어

/*else

{

}

*/

이렇게 처리해 버리면

sum!=0이면 d[].value에 저장하고 sum=0일 경우는 그냥 넘어가 버리고 프로그램도 종료되지 않고

왜 sum=0일때 프로그램을 종료해버리는지 모르겠어

좀 알려주라 형들