首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

请问关于c++的有关问题,一下

2012-02-05 
请教关于c++的问题,高手指点一下啊#include iostream.hcharencode(charch){return(~ch)}voidmain(){cha

请教关于c++的问题,高手指点一下啊
#include <iostream.h>
char   encode(char   ch)
{
        return(~ch);
}
void   main()
{
        char   c;
        cout < < "请输入加密的字符: ";
        cin> > c;
        c=encode(c);
        cout < < "字符加密后为: " < <c < <endl;
        c=encode(c);
        cout < < "字符解密后为: " < <c < <endl;
}
输入任何一个字符,字符加密后为总是输出"?"号,为什么啊!!!

[解决办法]
只有一个字节,超出了可见字符的范围(0x20~0x7F),就只有显示?或一个黑方块了。
[解决办法]
你的算法..
你可以先自己测试个值,
通过 ~ 运算后赋值给char会不会溢出
[解决办法]
因为你的char是有符号类型,所以它的第一个二进制位是0.

而当你取反之后,第一位是1了,也就是溢出,所以只能产生一些符号之类的东西
[解决办法]
改用指针 应该可以

热点排行