-1
我正在将一个int传递给我的lame程序中的一个函数。它传入一个数字将其转换为二进制表示形式,作为一个int数组。将int值传递给一个函数时发生变化
typedef int bool;
bool* conv2bin(int num)
{
blah blah blah return binary as bool array
}
我通过78,如果我通过后立即printf(),我得到781237412753-124?
我是C(来自C++)的新手,所以请告诉我我是否在做一些非常愚蠢的事情?
这似乎应该很容易,但它不是...?
编辑:
我做错疯玩:
printf("%d", num);
编辑2: 它必须与INT东西,因为在函数结束时,它会检查,如果我们扣除数足以达到num == 0,但它表示我们不在0.它做的很奇怪。它还说,二进制为0000000001001111,并且它应该是0000000001001110.
编辑3:
哇,我吸。谢谢弗洛里斯!这是一个漫长的一天。
请出示你的'printf'声明。我99%确定你的格式字符串错误。 – Floris
blah blah does not compile –
将'printf'改为'printf(“%d \ n”,num);' - 我敢打赌,现在你会看到'78'后面有一个回车符或更多的数字背靠背)。错误是在你的代码中的其他地方。展示更多。 – Floris