zzgege
获得 0 次赞
帮助过189人
使用strcmp来比较两个相同的字符数组时,得不到相等的结果。根据程序运,table1和table2赋值相同的值,应该相等才对啊,但我将if(strcmp(table1table2)==0)变为if(strcmp(table1table2)!=0)时,蜂鸣器响了,也就是说两个数组不相等。请教下这是什么原因呢?难道不能这样比较吗?小弟新手,感谢指教。 代码: ====================== #include <reg52.h> #include <intrins.h> #include <string.h> typedef unsigned char uchar; typedef unsigned int uint; sbit Beef=P0^1; uchar code arrl[]={"123456"}; uchar table1[6]table2[6]; uchar as; void delay(uint i) //延时函数 {while(i--);} void Bee() //蜂鸣器函数 { int x; for(x=1000;x>0;x--) { Beef=~Beef; delay(10); } } void main() { for(a=0;a<6;a++) { table1[a]=arrl[a]; table2[a]=arrl[a]; } if(strcmp(table1table2)==0) { while(1) { Bee(); } } }
通过对RTC_Set(u16 syearu8 smonu8 sdayu8 houru8 minu8 sec)设置调整时间,年月日可以改,时分秒改不了,但是复位或者待机重启后时间又初始化了。想请教怎么按键操作修改时间且复位或待机不会初始化修改后的时间。