amoBBS 阿莫电子论坛

 找回密码
 注册
搜索
bottom↓
查看: 614|回复: 10

我这段小程序为什么不能够达到预期的效果?

[复制链接]
发表于 2015-1-28 21:47:25 | 显示全部楼层 |阅读模式
2莫元
程序段如截图,我就想让P0口输出数组里第一个元素,为什么不行呢?

#include <reg52.h>
unsigned char code num[]={0x55,'2','3','4','5','6'};
void main ()
{
  unsigned char  *m;
  *m=num;
  P0=*m;
             while(1) ;
}

QQ图片20150128214901.png

最佳答案

发表于 2015-1-28 21:47:26 | 显示全部楼层
本帖最后由 cy8051 于 2015-1-28 21:59 编辑
  1. void main ()
  2. {
  3.     unsigned char  *m;
  4. unsigned char i;
  5.     m=num;
  6.    
  7.                while(1)
  8. {
  9. P0=*m;
  10. if(i<5)
  11. {
  12. m++;
  13. i++;
  14. }
  15. delay1s();
  16. }
  17. }
复制代码
发表于 2015-1-28 21:50:53 | 显示全部楼层
*m=num;
你这句我看到也是醉了
发表于 2015-1-28 21:52:35 | 显示全部楼层
你这不是把一个地址给P0口么
改为&m
发表于 2015-1-28 22:01:50 | 显示全部楼层
unsigned char *m=num;
发表于 2015-1-28 22:05:55 | 显示全部楼层
醉了······
发表于 2015-1-28 22:09:00 | 显示全部楼层
*m = num;应该改成m=num;楼主该回去好好看看C语言的指针。
发表于 2015-1-28 22:13:47 | 显示全部楼层
古二真。                                
发表于 2015-1-28 22:13:55 | 显示全部楼层
num是一个数组, p是一个指针 num数组的首地址要赋值给指针,而不是*p *p是指针指向地址中的数 p才是指针啊
 楼主| 发表于 2015-1-28 22:21:16 | 显示全部楼层

菜鸟级的初学者不要这种表情好不好
 楼主| 发表于 2015-1-28 22:22:34 | 显示全部楼层
WindDragon 发表于 2015-1-28 22:09
*m = num;应该改成m=num;楼主该回去好好看看C语言的指针。

好了
友情提示:标题不合格、重复发帖,将会被封锁ID。详情请参考:论坛通告:封锁ID、获得注册邀请码、恢复被封ID、投诉必读
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|阿莫电子论坛(原ourAVR/ourDEV) ( 公安备案:44190002001997(交互式论坛) 工信部备案:粤ICP备09047143号 )

GMT+8, 2019-6-18 07:53

阿莫电子论坛, 原"中国电子开发网"

© 2004-2018 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表