国产毛片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://m.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
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 美女的隐私视频网站蜜桃视频 | 久99久热只有精品国产99 | 妈妈的朋友伦理在线观看 | 日本中文字幕视频在线看 | 日韩视频在线观看一区二区 | 花季传媒视频播放软件 | 国产理论自拍 | 在线观看网址入口2020国产 | 老人free性hd老 | 国产在线精品一区二区 | 日日操天天射 | h网站亚洲| 五月亚洲综合 | 青青草国产免费久久久下载 | 乱一色一一区二区三区 | 色婷婷丁香 | 麻豆成人久久精品二区三区小说 | 日韩精品视频在线免费观看 | 日韩欧美一区二区三区免费看 | 国产毛片不卡 | 日本精品一区二区在线播放 | 亚洲婷婷影院 | 亚洲狠狠婷婷综合久久蜜桃 | 亚洲欧美日韩中文字幕网址 | 欧美一区二区三 | 久久国产精品一国产精品金尊 | 精品国产高清自在线一区二区三区 | 91精品国产福利尤物 | 国产免费一级在线观看 | 精品日韩欧美一区二区三区 | 91免费公开视频 | china麻豆制作 | 亚洲一区二区三区不卡视频 | 欧美.亚洲.日本一区二区三区 | 青青国产视频 | 在线动漫网 | 91综合国产| 天天干天天操天天爽 | 在线看片91 | 国产成人精品高清在线观看99 | h肉动漫无遮挡在线观看免费 |