今天调试程序,在一个文件读的时候出现一个段错误,检查几遍没有发现任何问题。
最后,把部分代码抠出来,单独调试,发现了一个很可笑的问题,也是很马虎的一个问题,导致了这次的断错误
printf("ret = %s \n",ret);
注意了,这个ret是int类型的。但是我在printf中引用的时候,用的是%s而不是%d。所以导致了断错误。对%s的类型,会将ret认为是一个地址,而ret指向的地址是随机的,不合法的,所以会导致断错误。希望大家不要和我一样犯这样低级的错误!!
今天调试程序,在一个文件读的时候出现一个段错误,检查几遍没有发现任何问题。
最后,把部分代码抠出来,单独调试,发现了一个很可笑的问题,也是很马虎的一个问题,导致了这次的断错误
printf("ret = %s \n",ret);
注意了,这个ret是int类型的。但是我在printf中引用的时候,用的是%s而不是%d。所以导致了断错误。对%s的类型,会将ret认为是一个地址,而ret指向的地址是随机的,不合法的,所以会导致断错误。希望大家不要和我一样犯这样低级的错误!!