bad ptr怎么解决

bad ptr如何解决
const char *a="abcde";
const char *b=strstr(a,"f");
strstr()为什么返回bad ptr呢,找不到不是会返回NULL吗?求前辈指教。
char *

------解决方案--------------------
引用:
const char *a="abcde";
const char *b=strstr(a,"f");
strstr()为什么返回bad ptr呢,找不到不是会返回NULL吗?求前辈指教。
              
                  char *


#include <iostream>
#include <cstring>
using namespace std;

int main(int argc, char **argv) {
const char *a = "abcde";
const char *b = strstr(a, "f");
if (b == NULL) {
cout << "null" << endl;
}
return 0;
}

单独试一下咯,我这里是NULL。你什么环境?
------解决方案--------------------
引用:
引用:引用:const char *a="abcde";
const char *b=strstr(a,"f");
strstr()为什么返回bad ptr呢,找不到不是会返回NULL吗?求前辈指教。
              
                  char *
C/C++ code……

肯定代码不只是这么几行吧。我估计有可能是:
1、程序其他地方出现内存覆写,导致数据被意外改动出现错误;
2、调用外界dll之类的,而dll是在不同的环境下编译的;
vs2010下我试过了,简单的strstr()不应该会出现这种错误。