C 按位与,按位或,按位异或

按位与: 相当于集合中的交集, 0&0=0, 0&1=0, 1&0=0, 1&1=1

按位或:相当于集合中的并集,0|0=0, 0|1=1, 1|0=1, 1|1=1

按位异或:相同为0,不相同为1, 0^0=0, 1^1=0, 0^1=1, 1^0=1, 可用与加密与解密。

文件名为encrypt.h,其实不应该叫这个名字,但就这样吧。

void encrypt(char * message){
    //当指向最后一位时为0
    while(*message)
    {
    *message = (*message) ^ 31;
    message++;

    }
}
#include<stdio.h>
#include"encrypt.h"

int main(){
    char message[] = "i need some frends";
    encrypt(message);
    printf("加密后的信息为:%s
",message);
    encrypt(message);
    printf("解密后的信息为:%s
",message);
    getchar();
    return 0;
}

为什么会出现乱码呢?

原文地址:https://www.cnblogs.com/zijidefengge/p/13511033.html