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

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

發布時間:2011-9-16 15:07    發布者:1640190015
關鍵詞: 飛思小車程序 , 跳轉
摘自wanjian的日志

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

但是,有一個問題:break和continue只限于退出一層循環。如果是雙重循環,那么只能退出內層循環。
for (int i=0;i<10;i++)
{
  for (int j=0;j<10;j++)
   {
       if (i==5 && j==5)
          break;
       printf(i);
       printf(j);
   }
}
這個結果大家可以自己試一下。
那怎么辦呢,把上面的稍加改進即可。我們設置一個標志變量,如果內嵌循環退出,那么就把這個標志變量置位。然后在外層循環檢測標志變量是否置位,為真的話跳出外層循環。
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循環里加限制條件.  
  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.....
為什么有人一直抨擊它呢?是因為用上它就會喜歡上它,無法自撥以至于見到程序跳轉就想到goto,結果當然就撓亂整個程序的秩序。
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);
               }
           }
      }
這個方法相對來說比較高級,主要是形參的傳遞比較高級,可以是數值,地址,引用,等等,非常靈活。
但也容易出錯。建議用結構體指針。
本文地址:http://m.qingdxww.cn/thread-76619-1-1.html     【打印本頁】

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

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區
關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 天天色综合天天| 特黄特色大片免费播放器试看| 老阿姨才是最有V味的直播| 香蕉59tv视频| 亚洲成网777777国产精品| 日本在线视频免费观看| 四虎影院的网址| 在线亚洲精品自拍| 国家产午夜精品无人区| 亚洲天堂一区二区三区| 亚洲狠狠婷婷综合久久蜜桃| 四虎欧美永久在线精品免费| 羞羞视频破解版免费观看| 一本大道香蕉久97在线视频| 国精产品999一区二区三区有限| 一本色道久久综合一区| 欧美视频日韩视频| 色婷婷中文字幕| 在线91精品国产免费| 绿巨人www在线观看| 日韩成人激情| 日本wwwxx| 亚洲视频成人| 用力....cao死我| 国产一卡在线观看完整版| 中国少妇内射XXXX狠干| 人人狠狠| 五月婷婷丁香久久| 一级毛片在线| 免费。色婬网站| 色视频www在线播放国产人成 | xxx日本hd| 亚洲国产精品天堂在线播放| 亚州综合| 亚洲一区二区免费看| 最新精品在线| 蜜芽在线影片| 无码专区aaaaaa免费视频| 日日拍夜夜拍| 天天色综合5| 国产精品久久久久久久伊一 |