허접한 checksum 계산 프로그램
엘핀
#includestdio.h
int *calculation_Checksum(int *message);int check_Checksum(int *message,int *checksum);
int main(){ int msg[4]= {15,12,4,3}; int i,j,k; int *checksum; int Result_recieve; printf(\nCheksum을 계산합니다.\n); checksum = calculation_Checksum(msg); printf(\nCheksum을 확인합니다.\n); Result_recieve = check_Checksum(msg,checksum); if(Result_recieve == 0) printf(There is error in transmissing data.\n); else printf(There isnot any error in transmissing data.\n);}
int *calculation_Checksum(int *message) { int i; int checksum[4]={0}; for(i=0;i4;i++) checksum[i] = 15-*(message+i); return checksum;} int check_Checksum(int *message,int *checksum) { int i; int result[4]={0}; for(i=0;i4;i++) { result[i] = *(message+i) + *(checksum+i); if(result[i]!=15) return 0; } return 1;}
왜 check_checksum 함수에서 0을 리턴하는지 잘 모르겠어요 ㅠㅠ