打印结果和调试结果不一样(C语言)
生活随笔
收集整理的這篇文章主要介紹了
打印结果和调试结果不一样(C语言)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
【0】README
0.1)本文旨在闡述 個人的debug經歷,遇到的各種debug 奇葩問題, 說是奇葩,其實也是自己 不小心或者說是編程習慣不好;
【1】debug和running的運行結果不一致(乍眼一看,你肯定醉了)
1.1)原因:這是因為, 運行是時候,temp內部分配失敗,為null, 所以直接返回了,所以swap失敗;而在debug的時候, temp內存分配成功, 不為null, 所以swap成功;(至于為什么 運行的時候分配內存失敗而debug的時候分配內存成功? 具體的我也不曉得)
1.2)這里給我敲了一個警鐘: if判斷temp是否為null時, 還是添加一條提示語句, 像這樣, 也即是吧Error語句的注釋去掉即可:
1.3)當然,我們也可以吧swap方法修改為:
void swap(ElementType x, ElementType y) {struct Distance temp;temp = *x;*x = *y;*y = temp; }總結
以上是生活随笔為你收集整理的打印结果和调试结果不一样(C语言)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 个人网站要怎么备案(个人网站要怎么备案呢
- 下一篇: 最小生成树基础