摘要:
今天遇到一个问题,系统有时执行正确,有时执行错误。关键代码如下TYPE *res = NULL;TYPE mydata;res = search(arg1, arg2, &mydata);if(res .. =..; return data_ptr; }}按照楼主的想法,search执行出错时,返回值为非正值。执行成功,返回正值,因为地址一定非负。但是程序运行过程中对于同样的参数输入,search有时返回值为非正值,有时为正值,楼主自然以为search函数的返回值很可能被破坏掉了,导致时好时坏。折腾了一天,又是添加printf语句又是对指针强制类型转换的,最后都没有解决问题。后来,一个 阅读全文