51单片机电子时钟程序
时间:10-02
整理:3721RD
点击:
用LCD1602写电子时钟程序时用到指针,void displays(uchar hang,uchar lie,uchar *s)//
{
if(hang==1)
write_1602(0,0x80+lie);
if(hang==2)
write_1602(0,0xc0+lie);
while(*s)
write_1602(1,*s++);
}
这段程序里
while(*s)
write_1602(1,*s++);
是什么意思?
求大神 指点!
{
if(hang==1)
write_1602(0,0x80+lie);
if(hang==2)
write_1602(0,0xc0+lie);
while(*s)
write_1602(1,*s++);
}
这段程序里
while(*s)
write_1602(1,*s++);
是什么意思?
求大神 指点!
顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
他的意思是,你忽略那个指针就理解了、
还是不理解,你的意思是什么?
我对指针不太了解。你如果是因为指针困惑你不懂那句意思的话,那你就当S是个普通变量好了
我觉得你还是好好学下指针的概念先,我对指针也没怎办学。
*s可以看成是一个变量,不需要考虑其他的
好的,谢谢。
while(*s)
write_1602(1,*s++);
第一句,while(*s)->s指针,在这样的程序里应该是指向你要显示的字符串。打个比方说,你要显示"12345"这个字符串,其中"12345"在代码里编写了,存放在code segment里,s指向这个字符串存放的首地址,*s='1'。
第二句,write_1602();是个你定义函数。1应该是第“1”行。*s是指代你的字串的首元素.*s++就是s不断往字符串下个字符的地址指,*s就取回了下个字符。一般做个条件,while(*s)//如果字符串没到尾部就继续*s++。
你说得对,我又看了看程序觉得也是这样的,谢谢你。
恩,我也想知道什么意思,,,现在大约知道一点点,,,谢啦
问题提的不错 貌似我也学到了 哈哈
看不懂