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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2643|回復: 11
收起左側

請教一下C語言數組的使用問題

[復制鏈接]
ID:417328 發表于 2021-11-8 15:01 | 顯示全部樓層 |閱讀模式
5黑幣
我在用數組進行控制打印機,但是我想用另一個數組中元素來當自模數組的下標,現在測試只要是第一個變量取數組里的元素就會出現異常,
想請教一下:數組的下標可以是另外一個數組的元素嗎(16進制元素unsigned char類型的)。

回復

使用道具 舉報

ID:313048 發表于 2021-11-8 16:58 | 顯示全部樓層
是可以這樣操作的,但是并不建議你這樣使用,因為這樣容易出現數組越界,如果不注意使用的話。
回復

使用道具 舉報

ID:883242 發表于 2021-11-8 19:14 | 顯示全部樓層
下標必須可以是其他數組元素,貼出錯代碼出來吧。
回復

使用道具 舉報

ID:417328 發表于 2021-11-9 08:36 | 顯示全部樓層
Hephaestus 發表于 2021-11-8 19:14
下標必須可以是其他數組元素,貼出錯代碼出來吧。

這是圖片

字模數組

字模數組

程序兩個數組

程序兩個數組

打印出來的

打印出來的
回復

使用道具 舉報

ID:592807 發表于 2021-11-9 09:03 | 顯示全部樓層

2012里面為啥第2個數字2沒事,第一個就有事?
回復

使用道具 舉報

ID:313048 發表于 2021-11-9 10:59 | 顯示全部樓層

那個異常的數組里面是print1[0]是你復制的時候打錯了吧?還是說本身復制過來就這樣。不應該是print1[1]嗎?
首先你得確定你的print1[]這個數組里面的數字是沒有問題的,如果是沒錯的話那就不應該有問題,因為數組是可以這樣操作的,如果出來不對,肯定是你有程序對這個print1[]數組的操作產生的數據不對。
從你打印出來的那個2來看,很明顯是取模的值向后移了,并不是從頭開始讀取,那么就應該是你的print1[]這個值取大了,為什么變大了肯定是你程序某個地方把值給改變了。
回復

使用道具 舉報

ID:417328 發表于 2021-11-9 15:17 | 顯示全部樓層
就是只要FontTable1206[]數組下標取另外一個數組的16進制元素就會出現亂碼,是不是不能這樣取。

這是我程序的三行代碼

這是我程序的三行代碼

對應數組打印的

對應數組打印的
回復

使用道具 舉報

ID:624769 發表于 2021-11-9 15:41 | 顯示全部樓層

你把,你在 地板  發的 這兩條代碼的   正常的數組,出現異常的數組, Ctrl + F5   Debug  之后,看看出來的匯編代碼,到底有什么差別,可以方便找到出錯原因。
回復

使用道具 舉報

ID:417328 發表于 2021-11-9 16:24 | 顯示全部樓層
188610329 發表于 2021-11-9 15:41
你把,你在 地板  發的 這兩條代碼的   正常的數組,出現異常的數組, Ctrl + F5   Debug  之后,看看出 ...

大佬看一下
51hei圖片20211109162158.png
51hei圖片20211109162313.png
回復

使用道具 舉報

ID:417328 發表于 2021-11-9 16:33 | 顯示全部樓層
我想問一下:unsigned char zifu[16]={0X30,0X31,0X32,0X33,0X34,0X35,0X36,0X37,0X38,0X39,0X41,0X42,0X43,0X44,0X45};
這個數組的元素,如果要為A[]數組的下標。是不是得把zifu[]數組的元素變為整數才可以,剛才試了試把zifu[0]賦值給(int)SHU。放進去也是亂碼;
回復

使用道具 舉報

ID:313048 發表于 2021-11-9 16:56 | 顯示全部樓層
513489465 發表于 2021-11-9 16:33
我想問一下:unsigned char zifu[16]={0X30,0X31,0X32,0X33,0X34,0X35,0X36,0X37,0X38,0X39,0X41,0X42,0X43 ...

你為啥一定要在【】里面去運算,你完全可以在外面先運算之后再作為下標使用啊,你調試肯定要確定每一步都沒有問題才對啊,你這只看最后結果去確定哪里出錯是什么個操作?  
基本的調試都不會嗎?
unsigned char  temp;
temp = (zifu-0x20)*12+N;  你先確定這個temp對不對你再去考慮顯示的那個取值啥的問題不行?
非得一次性全部搞出來,沒有中間過程,覺得這樣寫很順眼?
基本的調試都不懂,明明能仿真  還問這么簡單的問題。
回復

使用道具 舉報

ID:624769 發表于 2021-11-9 21:05 | 顯示全部樓層
test.png

試一下效果
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久久国产精品网站 | 亚洲一区欧美 | 久久午夜视频 | 一区视频在线 | 精品久久久久久久人人人人传媒 | 国产伊人久久久 | 亚洲精品在线免费 | 欧美簧片| 久久高清| 五月激情综合 | 欧美一区二区 | 亚洲精品成人在线 | 久久久久久国产精品免费免费 | 美女视频三区 | 国产亚洲精品成人av久久ww | 国产美女精品视频 | 99久久亚洲 | 秋霞在线一区二区 | 免费能直接在线观看黄的视频 | 成人免费视频 | 欧洲一区二区在线 | 成人午夜在线 | 乱码av午夜噜噜噜噜动漫 | 搞黄视频免费看 | 精品九九 | 亚洲精品免费在线观看 | 国产在线不卡 | 日韩中文字幕2019 | 97久久精品午夜一区二区 | 国产精品视频一区二区三区 | 国产精品免费看 | av入口| 国产男女猛烈无遮掩视频免费网站 | 午夜天堂精品久久久久 | 日韩欧美一区二区三区在线播放 | 国产精品久久久久久久久久久久久 | 久久亚洲一区二区三区四区 | 午夜av在线 | 久久成人精品视频 | 成人精品国产一区二区4080 | 人人叉 |