项目场景:
程序功能的具体要求:片内数据存储器25H单元中放有一个0-10的整数,编程求其平方,将平方放到30H单元。
问题描述
根据题目的要求所写的代码如下:
#include<reg51.h>
void main()
{
char n; //中间变量
char *ptr=0x25; //25H单元
float *ptr2=0x30; //30H单元
float f; //中间变量
*ptr=6; //赋值一个10以内的数
n=*ptr; //n来存6
f=n*n; //f来存平方的值
*ptr2=f; //把平方值赋值给ptr2
}
主要问题:
提示:debug的调试过程:
因为是刚接触,所以还是遇到很多问题。
写代码过程中,当全部用float来定义变量时,发现ptr和ptr2的值会同时变化,或者f与n的值同时变化,
debug中变量:
这里n的值变成了0x00,我一直弄不明白
最后:
这个程序是我最后优化的,如果有大佬知道上面提到的问题,希望能留言讲一下,感谢。