关于return返回的问题,求指导

2019-07-15 16:16发布

写程序遇到的,想知道return返回是返回到哪一句。。。
在测试时如果加上 i=0  这一句和没加效果一样 都是LCD1602上显示  o 闪烁
求指导




#include<reg51.h>
#include"All.h"

int  i=1;

void main(void)
{        
   LCD_Init();
   LCD_Clear();//清屏
  // LCD_Write_Char(7,0,'o');
   //LCD_Write_Char(8,0,'k');
  //DelayMs(500);
         
  while(1)
  {                             
                 if(i==1)
                   {
                            LCD1602_Write_Char(7,0,'O');
                          //  i=0;
                          return ;         
                   }
                   else
                   {
                           LCD1602_Write_Char(8,0,'A');
                        
                   }
   }
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
a410670107
1楼-- · 2019-07-15 21:39
你写return 都跳出函数了  当然是显示O了   
qduwg
2楼-- · 2019-07-16 00:37
不知道楼主为什么要写上return这句话呢?是什么意思?这个return是返回到操作系统了。也就是管理程序去了。
Saturday_。
3楼-- · 2019-07-16 04:26
a410670107 发表于 2015-8-17 12:36
你写return 都跳出函数了  当然是显示O了

想问的是跳出哪个函数,下面又该运行哪句代码了,小白,求指导。。。。
Saturday_。
4楼-- · 2019-07-16 06:28
qduwg 发表于 2015-8-17 12:45
不知道楼主为什么要写上return这句话呢?是什么意思?这个return是返回到操作系统了。也就是管理程序去了。

原本的主程序是下面的程序,我就是不知道程序中return返回的什么,下面又该怎么运行,才写的上面的代码看看能不能试出来的。。。。。。
就是  err=1  下面怎么运行 完整的主程序在下面
if(err != 0){//如果发生错误
                sprintf(Data,"ERR:%d",(int)err);//显示错误代码
                        LCD_Write_String(0,0,Data);
                        return;//发生错误后跳出循环

程序原来就是LCD1602显示DH11采集的温度和湿度。。。。

void main(void)
{
unsigned char err,Data[10],val[5];
LCD_Init();
delayms(20);//有助于液晶稳定
LCD_Clear();

        while(1)
        {
                DHT11_start();
                err = DHT11_r_data(val);
                if(err != 0){//如果发生错误
                sprintf(Data,"ERR:%d",(int)err);//显示错误代码
                        LCD_Write_String(0,0,Data);
                        return;//发生错误后跳出循环
                }else{
                        LCD_Write_String(14,0,"OK");                       
                }
               
           sprintf(Data,"H:%d.%d %%",(int)val[0],(int)val[1]);//显示湿度
                LCD_Write_String(0,0,Data);
               
               
                sprintf(Data,"T:%d.%d C",(int)val[2],(int)val[3]);//显示温度
            LCD_Write_String(0,1,Data);
               
                if((val[0] + val[1] + val[2] + val[3]) == val[4]){//效验数据是否正确,根据器件资料 所有温度和湿度的总和等于最后一个数据
                        LCD_Write_String(14,1,"OK");
                }else{
                        LCD_Write_String(13,1,"ERR");
                }
                               
                delayms(1000);
                LCD_Clear();
        }
}
lxg54321
5楼-- · 2019-07-16 10:48
 精彩回答 2  元偷偷看……
a410670107
6楼-- · 2019-07-16 15:21
你还是去看看c语言的return的功能吧
你在main函数中直接来个return就相当于程序已执行完毕

一周热门 更多>