最简单的加密程序!(利用补码问题)

linuxuer 2003-07-27 03:21:56
#include<stdio.h>

void main()
{
char encode(char ch);
char uncode(char ch);
char c;
c=encode('a'); /*加密*/
printf("%c,%d\n",c,c);
c=uncode('c'); /*解密*/
printf("%c,%d\n",c,c);
}

char encode(char ch)
{
return(~ch);
}
char uncode(char ch)
{

return(~ch);
}

/*为什么结果不正常,a并不能被正常解密出来?谢谢*/
...全文
33 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
snowman_pc 2003-07-27
  • 打赏
  • 举报
回复
c=uncode('c');应改为
c=uncode(c);

如果'c'这是字符啦,

而你原来是想要传递的是C变量,c='a'!


NOV 2003-07-27
  • 打赏
  • 举报
回复
没机器试哦,不过我认为:
c=uncode('c'); /*解密*/
应改为:
c=uncode(c); /*解密*/
你解密的是变量c而不是字符c吧。
自己再试一下吧
bm1408 2003-07-27
  • 打赏
  • 举报
回复
c=encode('a');
/*加密*/ 计算机接位非,但是它返回的不一定是一个字符!
printf("%c,%d\n",c,c);
c=uncode('c'); 而你这里传的是字符C,根定是不对的!

就算你的程序对,不管输入的什么字符,他解出来的始终是字符c的非!

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧