题目:
通过对数据的特定计算得到校验码并保存;之后可以对该数据重新计算校验码,并与保存的校验码进行核对,来确定该数据是否被破坏或篡改。
字节校验法是数据校验的一种简单方法,将每一个字节的数据视为unsigned char,然后累加(不管是否超界),最终得到一个8位无符号整数,来作为最终的校验码。
编写校验函数unsed char getChksuignm(unsigned char *p, int len),其中unsigned char *p为传入的数据的首地址,int len为该数据以字节为单位的长度。
编写main函数对该函数进行验证,输入你的13位长度的学号(字符型),计算校验码
下面是我的错误想法:
unsigned char getChksum(unsigned char* p, int len)
{
int sum = 0;
for (int i = 0; i < len; i++)
{
sum += (*p);
p++;
}
return sum;
}
int main()
{
char num[13];
gets(num);
int len = sizeof(num);
unsigned int ret=getChksum(num, len);
printf("校验码为:%d", ret);
return 0;
}