单片机问题,用c语言表示内存的单元地址,比较两个单元数的大小,下面是一段间单的程序,不知道对不???

voidmain(){unsignedchar*D1,*D2,*D3;//先定义两个指针变量。D1=0x20;//分别指向相应的地址。D2=0x30;D3=0x40;if... void main()

unsigned char *D1,*D2,*D3; //先定义两个指针变量。
D1=0x20;//分别指向相应的地址。
D2=0x30;
D3=0x40;
if((*D1)>=(*D2))
{
*D3 = *D2; //将较小的数存到D3所指向的空间(0x40)
}
else
{
*D3 = *D1;
}


在标准c中指针不能赋值一常数,不知道在单片机可以不??如果程序是错的,那对的怎样表示??请高手帮忙,在下感激不尽。。。。O(∩_∩)O谢谢
展开
 我来答
seuzhouww
2011-05-22 · TA获得超过1386个赞
知道小有建树答主
回答量:658
采纳率:0%
帮助的人:313万
展开全部
1、经过检验,除个别字符没有使用ASCII码外。没有问题。
2、常用的表达如下:
#include<ABSACC.h>
main()
{
if(DBYTE[0x20]>=DBYTE[0x30])
DBYTE[0x40]=DBYTE[0x30];
else
DBYTE[0x40]=DBYTE[0x20];
while(1);
}
仅供学习,毫无用途。
3、更理想的表达如下:
(无需关注底层。否则又回到汇编啦。)
unsigned char i=1,j=2;
unsigned char *p1,*p2;
p1=&i;
p2=&j;
if(*p1!=*p2)
*p1=*p2;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式