【发布时间】:2015-05-30 12:41:58
【问题描述】:
这是我的函数的样子:
signed char INTtoCHAR(int INT)
{
signed char CHAR = (signed char)INT;
return CHAR;
}
int CHARtoINT(signed char CHAR)
{
int INT = (int)CHAR;
return INT;
}
它将 int 值分配给 char 可以正常工作,但是当我想计算该 char 时,它会给我一些奇怪的迹象。它编译没有错误。
我的测试代码是:
int main()
{
int x = 5;
signed char after;
char compare = '5';
after = INTtoCHAR(5);
if(after == 5)
{
std::cout << "after:" << after << "/ compare: " << compare << std::endl;
}
return 0;
}
After 确实是 5,但它不打印 5。有什么想法吗?
【问题讨论】:
-
能否请您添加错误的输出?
-
是垃圾输出@Mikael。但是,有了我的回答,你就会得到号码。
-
@Somebody,你能确认我的回答是正确的吗? :)
-
@Somebody,你问了一些想法,你得到了 2 个,你愿意谈谈他们吗? :)
标签: c++