怎么才能跳出这个无止境的循环

2019-10-15 17:20发布

uint8_t table_my[]="la la la ";
uint8_t*table=table_my;

        while(table!=NULL)
        {
                        USART_SendData(USART2,(uint16_t)*table);
                        table++;
                        while(USART_GetFlagStatus(USART2,USART_FLAG_TC)!=1);
                        USART_ClearFlag(USART2,USART_FLAG_TC);
        }


不管我对while里面怎么改,总是跳不出来,谁指点一下啊

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
xuesong10210
1楼-- · 2019-10-15 19:56
补充一下。按照楼主的意思应该是想把字符串数组输出,判断*table != ''  或者*table != 0试。
Sun_Fly
2楼-- · 2019-10-16 00:12
table=0;
lvkanger
3楼-- · 2019-10-16 01:59
 精彩回答 2  元偷偷看……
mack13013
4楼-- · 2019-10-16 05:41
lvkanger 发表于 2017-1-12 19:14
table!=‘’吧?

''这个转义符就是0,也就是NULL

table!=''时,table!=NULL这一句也是真的。

楼上的table=0才能使table!=NULL为假。

同时,内存泄漏出现,啦啦啦啦
xuesong10210
5楼-- · 2019-10-16 08:02
table初始值为table_my数组的首地址(&table_my[0])。要让table++一直加一个循环到0地址位置估计会拖死你的程序
2449164582
6楼-- · 2019-10-16 09:40
应该判断指针指向地址中的数据是否为0,不是判断是否为空指针吧

一周热门 更多>