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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

C語言局部變量自加的問題

[復制鏈接]
跳轉到指定樓層
樓主
ID:997026 發表于 2022-4-17 21:14 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如下的C語言函數:

viod time_compute(void)
{
   unsigned char  time_set =1;
   if(key_num)
   {
      time_set ++;
      if(time_set >1)
      {
         time_set =0;
      }
      key_num=0;
   }
}

key_num是通過按鍵操作的,按一下,time_set自加1,實際測試時發現,time_set沒有執行(沒有發生自加),后來稀里糊涂的在unsigned char time_set=1;之前加了static, 變成這樣:static unsigned char time_set=1; 程序就正常了,按按鍵時,可以自加了。

本人小白,初學者,有點搞不明白,為啥會這樣呢?
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:944091 發表于 2022-4-17 22:22 來自手機 | 只看該作者
加了static進入函數只對unsigned char time_set=1操作一次,不加的話每次進入都操作=1,當你自加1了,下次一進入又=1,相當于沒自加
回復

使用道具 舉報

板凳
ID:624769 發表于 2022-4-17 22:29 來自手機 | 只看該作者
把 =1 去掉即可。
回復

使用道具 舉報

地板
ID:624769 發表于 2022-4-17 22:33 | 只看該作者
把函數內的 unsigned char  time_set =1; 放到函數外, 然后, 把  函數內的 unsigned char  time_set =1; 去掉即可
回復

使用道具 舉報

5#
ID:491577 發表于 2022-4-18 00:31 | 只看該作者
static unsigned char time_set=1; static是靜態變量的意思。簡單點說就是只能夠被本函數使用的全局變量。 time_set=1只是被執行一次,之后time_set的值一直都會被保存,就像是全局變量。但是別的函數不可以使用這個變量。
回復

使用道具 舉報

6#
ID:123289 發表于 2022-4-18 16:34 | 只看該作者
關鍵是:在調用viod time_compute(void)之前,time_set =?
明白這一點就OK了。
調用前:局部變量,是不確定的,=0是對你客氣了。
靜態變量,你不動它,它不變,所以它會是上次退出時的值。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩中文字幕在线视频 | 青青草视频网站 | 欧美精品一区二区三区四区 在线 | 亚洲天堂一区 | 欧美小视频在线观看 | 国产精品久久久久久久久久久免费看 | 国产一区不卡 | 国产一区视频在线 | 999久久久国产精品 欧美成人h版在线观看 | 欧美电影网 | 影音先锋成人资源 | 91免费观看国产 | 黄色在线免费观看视频网站 | 欧美日韩久久精品 | 久久黄网 | 全部免费毛片在线播放网站 | 日韩免费高清视频 | 日本中文字幕在线视频 | 国色天香综合网 | 国产超碰人人爽人人做人人爱 | 欧美激情综合 | av网站在线播放 | 日本精品一区二区三区在线观看视频 | 国产精品久久久久久久免费大片 | 亚洲一区二区精品 | 91久久国产| 国产乱码精品一区二区三区五月婷 | 欧美日韩国产一区二区三区 | 色婷婷久久综合 | 麻豆视频在线看 | 蜜桃av一区二区三区 | 超碰人人人 | 亚洲av毛片成人精品 | 一区二区三区在线免费观看 | 视频一区二区在线观看 | 国产97在线视频 | 99在线免费观看视频 | 色橹橹欧美在线观看视频高清 | 在线一级片| 日韩在线小视频 | 久久国产综合 |