久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1924|回復: 14
打印 上一主題 下一主題
收起左側

C語言中return語句的用法疑惑

[復制鏈接]
跳轉到指定樓層
樓主
ID:997026 發表于 2023-5-8 11:33 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
大家好,

雖然在實際編程中也經常用到return這個關鍵字,但是一般就是放在函數最后,返回一個最終值。
對return的用法僅限于此,但是聽說return還有其他用法,比如可以結束函數的執行,這個我就不是特別清楚了。

比如有如下的程序函數:

unsigned char  get_final_value(void)
{
      if(data0>=5)  return data0; //------1
      if(data1<=9)  return data1; //-------2

     if(data2 >1 && data3 <8) //------3
     {
          if(adc1== sample_value) return sample_value; //------4
          esle if(adc1 < sample_value)  get_adc_value0=sample_value; //------5
          esle if(adc1 > sample_value)  get_adc_value1=sample_value;   //------6     
     }

     return  get_adc_value0; //----------7
}


這里我有幾個點不太理解,如果上面代碼里,第1步中如果data0>=5這個條件滿足,那么會返回data0,那么程序還會往下執行嗎?
也就是后面的2~7步還會執行嗎?是不是就退出程序了?

比如第4步中,如果返回了sample_value,是不是后面的5~7步也不會執行了,程序就退出了?

感謝大家指教!
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:1073299 發表于 2023-5-8 12:37 | 只看該作者
什么時候return ,就什么時候結束了,后面的就不會執行了
回復

使用道具 舉報

板凳
ID:883242 發表于 2023-5-8 12:39 | 只看該作者
return就是返回,怎么可能執行下面的語句?
回復

使用道具 舉報

地板
ID:1073856 發表于 2023-5-8 13:47 | 只看該作者
在這個函數中,如果條件滿足,例如 data0>=5,return data0 會立即結束函數并返回 data0 值。這意味著后續的代碼不會被執行,包括2-7步。  同樣地,如果在第4步中,條件 adc1== sample_value 滿足,return sample_value 將結束函數并返回 sample_value 值,后續代碼不會被執行。如果條件不滿足,執行下一條條件語句,即第5步或第6步中的一個。如果這些條件也不滿足,將執行最后一條 return get_adc_value0 并返回 get_adc_value0 值。  需要注意的是,這個函數返回一個 unsigned char 值。如果在函數的某個地方沒有返回語句,編譯器可能會生成一個警告或錯誤。因此,在這種情況下,當滿足特定條件時,使用 return 語句來明確指示函數結束并返回一個值非常重要。
回復

使用道具 舉報

5#
ID:879348 發表于 2023-5-8 14:12 | 只看該作者
return就是立即返回,不管在哪里
回復

使用道具 舉報

6#
ID:584814 發表于 2023-5-9 10:00 | 只看該作者
return就是返回,如果后面帶個跟班的就帶著一起走。
返回的意思就是結束本函數的運行回到上一級調用的后一句。
回復

使用道具 舉報

7#
ID:1034262 發表于 2023-5-9 10:25 | 只看該作者
函數中,一旦執行return就會返回,不會再執行別的代碼。
回復

使用道具 舉報

8#
ID:337139 發表于 2023-5-9 11:40 | 只看該作者
return的理解就是返回,返回到調入本涵數的入口處。自然就不會再執行涵數中的下面的代碼了。
回復

使用道具 舉報

9#
ID:883242 發表于 2023-5-9 11:58 | 只看該作者
放在最后是機械教條主義。
回復

使用道具 舉報

10#
ID:236035 發表于 2023-5-10 13:40 | 只看該作者
return = goto END
回復

使用道具 舉報

11#
ID:291668 發表于 2023-5-10 14:00 | 只看該作者
討論熱烈。return=返回入口處! 后面的判斷都是徒勞的。
回復

使用道具 舉報

12#
ID:1043290 發表于 2023-5-10 15:32 | 只看該作者
當前條件為真,遇到break;return;都是跳出當前循環執行下一次程序循環。
回復

使用道具 舉報

13#
ID:883242 發表于 2023-5-10 15:40 | 只看該作者
huxiaolin 發表于 2023-5-10 15:32
當前條件為真,遇到break;return;都是跳出當前循環執行下一次程序循環。

c語言跳出本次循環執行下一次是continue;,真不知道你的c語言是跟誰學的。
回復

使用道具 舉報

14#
ID:1043290 發表于 2023-5-10 16:39 | 只看該作者
Hephaestus 發表于 2023-5-10 15:40
c語言跳出本次循環執行下一次是continue;,真不知道你的c語言是跟誰學的。

裸機。。。
回復

使用道具 舉報

15#
ID:883242 發表于 2023-5-10 18:33 | 只看該作者

跟裸機有什么關系,break是執行循環外的第一行語句,return是返回調用函數的函數,continue是不執行循環里面下面的語句,從循環開頭重新執行。這都是c語言最基本的常識。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 午夜在线观看免费 | 国产免费观看一区 | 99视频| 国产精品久久久久久久久久久久午夜片 | 国产一区二区三区免费观看在线 | 亚洲精品一区二区三区在线 | 精品欧美一区二区三区精品久久 | 亚洲高清中文字幕 | 亚洲成人av | 欧美日韩在线观看一区 | 午夜视频免费在线观看 | 国产1区 | 亚洲一区二区三区四区视频 | 九九久视频 | 天天躁日日躁性色aⅴ电影 免费在线观看成年人视频 国产欧美精品 | 久久一及片 | 久久在线看 | 中文字幕免费中文 | 成人午夜精品一区二区三区 | 欧美精品a∨在线观看不卡 欧美日韩中文字幕在线播放 | 国内精品视频在线观看 | 日日干夜夜操 | 欧美精品一区在线发布 | 午夜久久久久久久久久一区二区 | 成人精品鲁一区一区二区 | 亚洲免费大片 | 国产黄色麻豆视频 | 欧美极品在线播放 | 日韩在线免费观看视频 | 一区二区在线观看av | 国内自拍视频在线观看 | 久久免费看 | 日本激情一区二区 | 男人天堂网站 | 国产日韩免费观看 | 国产欧美一区二区三区在线看 | 99成人免费视频 | 国产精品片aa在线观看 | 国产欧美在线一区二区 | 欧美日韩一区在线 | 一级片免费在线观看 |