我有一个功能:
int somefunction(int a, int b, char *c, int d){}
现在这个函数在另一个函数中被调用,该函数位于main()
.
我打电话somefunction(a, b, c, d);
,我把它打印出来int a
,女巫被宣布为 50,在somefunction()
被调用之前。在第一次调用中打印了 50,一切都很好,但第二次调用somefunction()
打印出 29549。这些函数调用在一些 if 语句中,即使调用了第二个位置somefunction()
,也首先调用它是相同的。
为了测试所有输入值都设置为相同,所以它不是输入。在调用之前打印所有输入值somefunction()
,并且它们应该是。我尝试重命名所有变量、函数,尝试将所有 int 更改为 float,并尝试将变量的顺序移动到somefunction()
. 但注意改变了。我也做过原型,不是那样的。
那么有没有人知道什么可以解决这个问题?实际代码不在这里,因为我通过了 2000 行,中间会有很多不相关的代码。我意识到这可能很难帮助我,所以我只问是否有人经历过类似的事情。