当运行以下程序的时候出现了闪退,程序如下:
#include <stdio.h>
#include <assert.h>
const char *strstre( const char *src, const char * sub){
const char * bp;
const char * sp;
if (src == NULL|| sub == NULL ){
return src;
}
while (*src ){
bp = src;
sp = sub;
do {
if (!*sp)
return src;
} while (*bp++ == *sp++);
src += 1;
}
return NULL;
}
int main(){
char p[] = "12345";
char q[] = "34";
const char *r = strstre(p,q );
printf("r:%s\n",r);
return 0;
}
刚开始以为是vs除了问题,解决方法是在开头添加#include <stdlib.h>,然后再在程序最后的return前加上system(“pause”)
问题即可解决。
(其中以上程序是解决从一个字符串中查找另一个字符串的位置。)