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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3211|回復: 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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久噜| 羞羞网站免费观看 | 国产日韩欧美二区 | 国产乱码精品1区2区3区 | 成人午夜精品 | 国产三区四区 | 国产传媒视频在线观看 | 久草日韩 | 99成人| 免费国产一区 | 午夜成人免费视频 | 国产一区二区在线播放视频 | 亚洲精品在线免费播放 | 国产高清在线精品 | 亚洲 欧美 另类 综合 偷拍 | 日本免费网| 懂色av色香蕉一区二区蜜桃 | 夜夜爽99久久国产综合精品女不卡 | 日日夜夜天天 | 国产精品久久久久久久久图文区 | 日韩三区在线观看 | 久久大香 | 国产亚洲一区二区三区 | 久久国产视频网站 | 亚州无限乱码 | 国产一区亚洲二区三区 | 999久久久| 亚洲一区二区三区四区五区午夜 | 在线欧美视频 | 亚洲一区二区中文字幕在线观看 | 日韩一区二区三区在线视频 | 亚洲97| 天天色av | 极品粉嫩国产48尤物在线播放 | 精品亚洲一区二区三区四区五区 | 亚洲第一视频网站 | 免费欧美 | 亚洲综合色自拍一区 | 国产精品美女久久久久久免费 | 国产露脸国语对白在线 | 国产成人精品一区二区三区四区 |