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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3161|回復: 20
收起左側

關于C語言變量的一個非常奇怪的問題

[復制鏈接]
ID:410689 發表于 2020-3-5 19:33 | 顯示全部樓層 |閱讀模式
用keil5做一個項目,如果定義了這個變量“unsigned int red;”,程序完全正常,如果不定義,程序會出錯
關鍵的地方是,這個變量在整個程序中都不會用到,而且換個變量名也不行,請高人指點下。謝謝了啊
回復

使用道具 舉報

ID:691449 發表于 2020-3-5 20:14 | 顯示全部樓層
在c語言里,每一個用到的變量都需要定義。你說的
這個變量在整個程序中都不會用到
是說變量在代碼里從來都沒有出現,編譯器仍然報錯嗎?是不是子程序用到了變量?
回復

使用道具 舉報

ID:462827 發表于 2020-3-5 22:53 | 顯示全部樓層
出錯具體信息貼上來看看
回復

使用道具 舉報

ID:699855 發表于 2020-3-5 23:02 來自手機 | 顯示全部樓層
有用庫嗎
回復

使用道具 舉報

ID:687694 發表于 2020-3-5 23:06 | 顯示全部樓層
不會有這種事的,假如這個變量是在包含頭文件后就定義的,則為全局變量,在項目其他C文件中要用到的。通常較為規范的程序寫法都會把每個外設寫在一個單獨的C文件中,然后通過頭文件包含進來。所以這個變量一定會被使用,否則不會報錯。
回復

使用道具 舉報

ID:235200 發表于 2020-3-5 23:15 | 顯示全部樓層
如果整個程序都沒用到的話,編程時定義這個變量的目的是什么?(難道你預先知道不定義就會有錯?)
回復

使用道具 舉報

ID:487821 發表于 2020-3-6 00:38 | 顯示全部樓層
肯定是在哪里用到了red,不然不可能的,你搜一下就出來了,程序里沒用到,也有可能你原來定義這個變量時又在哪里聲明了,把聲明函數搜出來一起刪了
回復

使用道具 舉報

ID:410689 發表于 2020-3-6 09:18 | 顯示全部樓層
xianming 發表于 2020-3-5 20:14
在c語言里,每一個用到的變量都需要定義。你說的 是說變量在代碼里從來都沒有出現,編譯器仍然報錯嗎?是不 ...

你好,感謝你的回復,編譯器沒有報錯,程序也能運行,但結果是錯誤的。
回復

使用道具 舉報

ID:410689 發表于 2020-3-6 09:20 | 顯示全部樓層
hantu 發表于 2020-3-5 22:53
出錯具體信息貼上來看看

你好,感謝你的回復。
在保留變量的情況下,最終輸出是0個錯誤、0個警告。
在刪除變量的情況下,最終輸出也是0個錯誤、0個警告。
回復

使用道具 舉報

ID:410689 發表于 2020-3-6 09:20 | 顯示全部樓層

你好,感謝你的回復。
沒有用庫呢。。。。。
回復

使用道具 舉報

ID:410689 發表于 2020-3-6 09:22 | 顯示全部樓層
lovexulu 發表于 2020-3-5 23:06
不會有這種事的,假如這個變量是在包含頭文件后就定義的,則為全局變量,在項目其他C文件中要用到的 ...

你好,感謝你的回復。
開始我也以為是哪里有用到,但是搜索了整個工程,都沒有用到的地方。
在保留變量的情況下,最終輸出是0個錯誤、0個警告。
在刪除變量的情況下,最終輸出也是0個錯誤、0個警告。
回復

使用道具 舉報

ID:410689 發表于 2020-3-6 09:28 | 顯示全部樓層
csmyldl 發表于 2020-3-5 23:15
如果整個程序都沒用到的話,編程時定義這個變量的目的是什么?(難道你預先知道不定義就會有錯?)

你好,感謝你的回復。
代碼開始寫的時候有用到這個變量,后來在完善的時候就不再需要這個變量了。
在保留變量的情況下,最終輸出是0個錯誤、0個警告。
在刪除變量的情況下,最終輸出也是0個錯誤、0個警告。

我在寫代碼的時候有保留工作進程的習慣,就是寫一部分,調試成功后就保留起來,然后再復制一份接著做,這樣就能查找是在哪一級出現問題,所以才發現是這個問題,實驗了很多次,只要刪除這個沒有用的變量,輸出結果就會出錯。。。。。。。
回復

使用道具 舉報

ID:410689 發表于 2020-3-6 09:29 | 顯示全部樓層
faguiq 發表于 2020-3-6 00:38
肯定是在哪里用到了red,不然不可能的,你搜一下就出來了,程序里沒用到,也有可能你原來定義這個變量時又 ...

你好,感謝你的回復。
在保留變量的情況下,最終輸出是0個錯誤、0個警告。
在刪除變量的情況下,最終輸出也是0個錯誤、0個警告。
搜索了整個工程,都沒有用到的地方啊。。。。。。。
回復

使用道具 舉報

ID:487821 發表于 2020-3-6 21:38 | 顯示全部樓層
wuxiaojia 發表于 2020-3-6 09:29
你好,感謝你的回復。
在保留變量的情況下,最終輸出是0個錯誤、0個警告。
在刪除變量的情況下,最終輸 ...

重載一下工程
回復

使用道具 舉報

ID:410689 發表于 2020-3-7 18:13 | 顯示全部樓層

謝謝你了,我試了你說的方法,還是不行呢。。。。。。
回復

使用道具 舉報

ID:704513 發表于 2020-3-8 13:48 | 顯示全部樓層
定義的unsigned int red是局部變量?考慮給unsigned int red賦一些值看看運行結果。
回復

使用道具 舉報

ID:700528 發表于 2020-3-8 14:39 | 顯示全部樓層
把部分代碼貼出來讓大家給你把把脈
回復

使用道具 舉報

ID:210139 發表于 2020-3-8 17:47 | 顯示全部樓層
把程序關掉重新打開程序,或者全局查找一下,看有沒有被用到的地方
回復

使用道具 舉報

ID:410689 發表于 2020-3-11 17:30 | 顯示全部樓層
awrynos 發表于 2020-3-8 13:48
定義的unsigned int red是局部變量?考慮給unsigned int red賦一些值看看運行結果。

你好,感謝你的回復
是否賦值都沒有關系,只要定義了,程序運行就正常,否則就不正常。
回復

使用道具 舉報

ID:410689 發表于 2020-3-11 17:31 | 顯示全部樓層
依利達 發表于 2020-3-8 14:39
把部分代碼貼出來讓大家給你把把脈

你好,感謝你的回復
就是定義了這個變量就可以,沒有定義就不行,但是編譯都是零錯誤零警告。
回復

使用道具 舉報

ID:410689 發表于 2020-3-11 17:31 | 顯示全部樓層
殺死比亞 發表于 2020-3-8 17:47
把程序關掉重新打開程序,或者全局查找一下,看有沒有被用到的地方

你好,感謝你的回復
我試過了,還是不行,不知道是不是我的keil5不穩定
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 一区二区三区四区不卡视频 | 人操人人 | 成人精品一区二区三区中文字幕 | 国产高清视频在线观看 | 久久大全 | 久久伊人在 | 四色永久| 国产高清视频在线播放 | 国产a爽一区二区久久久 | 啪啪毛片 | 欧美特级黄色 | 日韩精品一区二区三区中文在线 | 超碰在线网站 | 青青久久 | 久久综合狠狠综合久久综合88 | 日韩欧美国产一区二区三区 | 午夜综合 | 亚洲天堂999 | 性色av一区二区三区 | 四虎最新视频 | 欧美亚洲一区二区三区 | 91中文视频 | 精品视频一区二区三区在线观看 | 久久久久亚洲av毛片大全 | 亚洲免费在线观看视频 | 国产精品视频一区二区三区不卡 | 一本一道久久a久久精品蜜桃 | 成人夜晚看av | 日本a在线 | 免费三级网 | 2019天天操| 中文字幕在线观看一区二区 | 毛片视频免费 | 久久日韩精品一区二区三区 | 国产精品一区二区三区久久 | 二区在线视频 | 91av精品| 日本在线免费看最新的电影 | 国产成人免费一区二区60岁 | 在线黄色网 | 日日操操操 |