首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

指向变量的指针被改变 ?该如何解决

2012-08-14 
指向变量的指针被改变 ???//指向变量的指针被改变 ???//程序精简如下#include stdio.hunsigned charmcys

指向变量的指针被改变 ???
//指向变量的指针被改变 ???
  //程序精简如下
  #include <stdio.h>
 unsigned char mcys=10;//脉冲延时
 void main(void)
{
unsigned char i;
unsigned char * const menu1[]={&mcys,&i,&i}; //这里有很多其它变量
(*menu1[0])++;
printf("%d",(int)mcys);//结果mcys=11; 如果加到程序中,mcys=10 ???谁知道为什么吗?
}

//我在staticunsigned char * const menu1[]加上static,就OK。为什么不加会变???

[解决办法]
这个肯定不太可能的啊,不要找编译器的问题啊,你反汇编看看,uVision printf是打印在串口啊,你用仿真芯片调试,直接导出那个mcys看看

热点排行