我有下一个代码:
#include <math.h>
int x;
float Temp = 0;
void main(){
x = 2;
for(;;){
Temp=log(20);
}
}
我将我的代码缩短到重要的行。我遇到的问题是,一旦 x 被声明为 2,然后我执行 log() 函数,此计算将更改为 x 变量并将其更改为一个巨大的值。
Codewarrior(我使用的 IDE)说 Temp 变量位于 0x0102 位置,而 x 变量位于 0x0108 位置。
我需要 x 作为“MCUinit.h”中的函数,因此 x 变量不大于 5 很重要,并且 codewarrior 在执行 log 后给出 5000 甚至更大(无论如何)
我怎么能这样做 log() 不会改变其他变量?
谢谢
在执行 log() 函数之前。 https://ibb.co/6ZHh6D0
在做 log() 函数之后。 https://ibb.co/Np99Sz4