1樓:
簡單看了一下你的程式
首先,你沒有給出完整的程式,這個讓大夥看起來確實不方便,因為沒有main函式,可能踩記憶體的地方並不是這個函式本身,是main函式
其次說你的這個函式,貌似確實有點問題,但是由於沒有完整的程式,我只說出我的理解,如果有錯,直接忽視就好
sprintf(flag_height,"%03d",i+1);
sprintf(flag_width,"%03d",j+1);
我覺得問題出在這裡,你查下 sprintf 的用法,第一個引數應該是一個字串的首地址,你寫的確實沒有錯,引數給入的是一個地址flag_height,但是縱觀你的程式,你並沒有給這個指標賦值,程式執行到這裡,估計在預設建立指標的時候應該賦值為null(貌似根據編譯器不同而有不同),那個定址後報出段錯誤,也是意料之中了
由於沒有你完整的**,不知道你要做什麼,修改意見不好提
給出個人意見,僅供參考
如果要列印flag_height中的值,首先應該給flag_height指標分配一片記憶體,使用malloc函式,其次在向內從中寫入值,然後呼叫sprintf,就應該沒有問題了
linux下安裝oracle時出現以下錯誤 請高手指點
就是空間不足了。你換一個地方。分配個大點的。 是不是裸裝置對映的分割槽空間不足?安裝紅帽linux作業系統出現以下錯誤請高手指點 羅袖含香 你的硬碟是sata硬碟,redhat9.0不支援sata 我想你可能是裝的這個版本的,很多人都遇到這樣的問題 解決辦法 視主機板具體情況而定 進到bios後,選...
求linux下的C語言程式,可以將常用命令的幫助轉化為。命令通過man命令查詢
翻譯一下你的問題的描述 找到 usr bin 下的所有命令,然後逐個用man命令查詢,如果失敗不儲存結果,否則儲存 儲存的檔名應該和命令名相同吧 切命令的名字長度不超過7,首字母為a z,不知道是不是這樣,別人回答你的問題是為了幫助你,而不僅僅是讓你採納! 紫翼魔狼 o 就是 output,就是輸出...
求大佬解釋下這個C語言程式設計,求大佬看一下這個C語言程式設計我哪錯了?
風若遠去何人留 從檔案質檢.txt中讀資料,每行六個字串為一組資料 將讀到的資料存到連結串列裡面 999所向披靡 從程式函式來看,大致是開啟 質檢.txt 檔案,如果未到檔案尾,就不斷向檔案中輸入 寫入 結構體形式的資料。結構體的屬性包括 id name.具體含義你得看下文件。 開啟 質檢.txt ...