今天我执行了一个程序, 运行了很长时间后, 段错误了, 我定位了一下, 原来是 fprintf的问题, 具体是 vfprintf 的问题。 Program received signal SIGSEGV, Segmentation fault. 0x0098735e in vfprintf () from /lib/libc.so.6 调用栈为: #0 0x0098735e in vfprintf () from /lib/libc.so.6 #1 0x0098...
一般来说只要字符串中含有%,就算没有段错误,也会出现很奇怪的输出现象。 同理,sprintf由于也会调用vfprintf,所以应该同样也会有问题。