最新回答 / 某年某月某日某些遇見3168616
主函數中加入printf(“%d,%d”,x,y);會報錯;你定義的x,y的作用域于只在change函數里面可以用;如果你把這句話加入到change內部就可以用了;
2016-04-14
最贊回答 / 小霧3378873
一段程序執行太快了,若想知道該程序在執行過程的每一步執行后對結果的影響或者了解該語句的作用,則需要一種調試工具,讓他動作變慢,并且隨著你的控制讓他一步一步的執行,而且其間你可以用一些命令查看內存,驗證結果,這就是gdb調試工具的作用。以下是我的筆記:GDB可以對程序進行斷點調試,單步調試,如果用gdb調試,需要對程序重新編譯,格式為:gcc –g main.c –o main.out這樣生成的main.out才能用gdb調試。需要注意的是,在調試的時候不能刪除原代碼文件,即main.c ,如果將main....
2016-04-11
最新回答 / 實時編程
0x1 代表一個地址??不管是32位 還是64位系統 都是 使用 一個 32位 2進制 或者64位二進制 來 尋找這個地址而地址 里面 保存的 數據 是一個 8位 2進制數這個 8位2進制 恰巧是一個字節? ? 所以 從0x1 到0x5? 增加了 4個字節??不管是 32位 還是64位?地址只是表達 具體位置? ? 里面的 內容 確實個8位的 2進制數 而已? ?
2016-04-01
最新回答 / 慕后端9788028
我按樓主程序運行,在Linux下同樣出現相同的情況,執行到循環時,gdb也不能打出值來。換了c-free ,第三個輸出就出現莫名的值,我認為這是編譯器的問題。
2016-03-26
最贊回答 / 慕后端9788028
p[4]=101代表從初始位置(a的地址就始)以四個字節為一步,向前走4步,到達某個位置,然后對這個位置進行初始化賦值,即把101賦給這個地址所代表的內存空間。p[4],*p=101,p[4]代表從初始位置(a的地址就始)以四個字節為一步,向前走4步,到達某個位置。*p=101,代表此時指針指向的地址(即走了四步后所在位置)并對這個地址所在的內存空間進行初始化,賦值101。p+=3于p=p+3等同,加的是步數,原理跟p[3]一樣
2016-03-09