所以我试图用C编写一个脚本来向我展示奇偶校验位。基本上,我需要输入转换后的字符的二进制数,并且作为输出,我应该具有输入+ 1或0(1/0是奇偶校验位。0是偶数,1是不均匀的)。我就是无法正常工作。我要么得到相同的输入,要么出现一些疯狂的错误。有人可以帮我吗?谢谢
这是剧本
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main (){
char msg_bit_input[128];
char msg_bit_output[128];
char caruno='1';
int i;
int one;
printf("Insert the byte: ");
scanf("%s", msg_bit_input);
strcpy (msg_bit_output, msg_bit_input);
for(i=0;i<8;i++){
if(msg_bit_input[i]==caruno){
one--;
}
}
if(one%2==0){
//byte is even
strcat (msg_bit_output, msg_bit_input);
} else if(one%2==1){
//byte is uneven
strcat (msg_bit_output, msg_bit_input);
}
printf("The result is: %s", msg_bit_output);
return (EXIT_SUCCESS);
}