国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

提高飛思小車程序之一(跳轉(zhuǎn)的藝術)

發(fā)布時間:2011-9-16 15:07    發(fā)布者:1640190015
摘自wanjian的日志

為了提高圖像處理(特別是邊緣檢測)算法的效率,在循環(huán)處理中一旦找到灰度跳變就設定好標志位,然后返回,而不會繼續(xù)在循環(huán)中苦苦搜索。因為目的已經(jīng)達到了,已經(jīng)找到該找的東西,不必把CPU浪費在循環(huán)中。下面WJ介紹幾種實現(xiàn)的方法,供同學們參考。
1 用得最多的break和continue.
  大家都知道break是跳出總循環(huán),不再進行循環(huán);continue是跳出本次循環(huán),執(zhí)行下一次循環(huán).
  如for (int i=0;i<10;i++)
    {
       if (i==5)
          break;
       printf(i);
    }
   這樣只能執(zhí)行到i=5,打印輸出0 1 2 3 4
  如for (int i=0;i<10;i++)
    {
       if (i==5)
          continue;
       printf(i);
    }
  這樣只能執(zhí)行到i=9,打印輸出0 1 2 3 4 6 7 8 9,沒有5

但是,有一個問題:break和continue只限于退出一層循環(huán)。如果是雙重循環(huán),那么只能退出內(nèi)層循環(huán)。
for (int i=0;i<10;i++)
{
  for (int j=0;j<10;j++)
   {
       if (i==5 && j==5)
          break;
       printf(i);
       printf(j);
   }
}
這個結(jié)果大家可以自己試一下。
那怎么辦呢,把上面的稍加改進即可。我們設置一個標志變量,如果內(nèi)嵌循環(huán)退出,那么就把這個標志變量置位。然后在外層循環(huán)檢測標志變量是否置位,為真的話跳出外層循環(huán)。
BOOL bset=FALSE;
for (int i=0;i<10;i++)
{
   for (int j=0;j<10;j++)
   {
       if (i==5 && j==5)
       {
         bset=TRUE;
         break;
       }
        printf(i);
        printf(j);
   }
     if (bset) break;
}
2 在for循環(huán)里加限制條件.  
  BOOL bset=FALSE;
  for(;!bset;)   
  {   
  for(;!bset;)   
    {   
      if (i==5 && j==5)
       bset=TRUE;
      else
        {
          printf(i);
          printf(j);
        }
    }   
}
這種方法適用條件不多的情況,否則程序可讀性很差。
3 直接用goto
  goto這個語句一直讓不少人不齒,但是存在即合理。個人覺得它用在這種情況是最合適的了。
  for (int i=0;i<10;i++)
{
   for (int j=0;j<10;j++)
   {
       if (i==5 && j==5)
       {
         goto out;
       }
        printf(i);
        printf(j);
   }
}
out:
   your next code.....
為什么有人一直抨擊它呢?是因為用上它就會喜歡上它,無法自撥以至于見到程序跳轉(zhuǎn)就想到goto,結(jié)果當然就撓亂整個程序的秩序。
4 補充一條。單獨寫個void calculate (XXXXX)
       void calculate (XXXXX)
     {
          for (int i=0;i<10;i++)
         {
             for (int j=0;j<10;j++)
                {
               if (i==5 && j==5)
                       return;                  
                       printf(i);
                      printf(j);
               }
           }
      }
這個方法相對來說比較高級,主要是形參的傳遞比較高級,可以是數(shù)值,地址,引用,等等,非常靈活。
但也容易出錯。建議用結(jié)構體指針。
本文地址:http://www.qingdxww.cn/thread-76619-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內(nèi)容、版權和其它問題,我們將根據(jù)著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區(qū)
  • Dev Tool Bits——使用MPLAB® Discover瀏覽資源
  • Dev Tool Bits——使用條件軟件斷點宏來節(jié)省時間和空間
  • Dev Tool Bits——使用DVRT協(xié)議查看項目中的數(shù)據(jù)
  • Dev Tool Bits——使用MPLAB® Data Visualizer進行功率監(jiān)視
  • 貿(mào)澤電子(Mouser)專區(qū)
關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 在线观看91精品国产下载 | 精品成人在线观看 | 欧美日韩国产最新一区二区 | 2021国内精品久久久久久影院 | 国产国语一级毛片在线视频 | 粉逼视频 | 久久免费精品视频 | 九九热国产视频 | a毛片免费| 五月婷婷激情 | 午夜精品九九九九99蜜桃 | 亚州激情视频在线播放 | 99cao| 特黄特黄| 免费一级大毛片a一观看不卡 | 四虎免费在线观看视频 | 伊人手机视频 | 欧美日韩中文字幕在线视频 | 久久99青青久久99久久 | 国产成人久久精品二区三区 | 亚洲性片 | 欧美国产在线观看 | 在线免费观看福利 | 麻豆免费永久网址入口网址 | 国产一区二区视频免费 | 妈妈的朋友伦理在线观看 | 好男人是视频社区在线 | 99国产精品热久久久久久夜夜嗨 | 九色最新网址 | 朝鲜一级毛片 | 国产成人1024精品免费 | 视频一区 中文字幕 | 啦啦啦高清在线影院 | 国产三级成人 | 精品国产一区二区三区成人 | 日韩一区二区三区在线观看 | 精品一精品国产一级毛片 | 免费观看无遮挡www的小视频 | 一级黄色在线视频 | 久久99热只有视精品6国产 | 久久毛片免费看一区二区三区 |