Lỗi strcat.asm not found

Em có làm bài toán về tìm từ dài nhất trong xâu kí tự thì bị lỗi Unhandled exception at 0x555C40E3 (msvcr120d.dll) in Project1.exe: 0xC0000005: Access violation reading location 0x00000000. sau đó hiện 1 tab thông báo là strcat.asm not found , mọi người giúp với ạ

#include <iostream>
#include <string>
using namespace std;
char s[500], *p, s1[50][50];
int i, dem = 0, max = 0, b[100] = { 0 };
void kiemtra()
{
	p = strtok(s, " ");
	while (p != "\0")
	{
		strcpy(s1[dem], p);
		dem++;
		p = strtok(NULL, " ");
	}
	int max = strlen(s1[0]);
	for (int i = 0; i < dem; i++){
		b[i] = strlen(s1[i]);
		if (b[i]>max) max = b[i];
	}
}
void inkq(){
	for (i = 0; i < dem; i++){
		if (b[i] == max){
			cout << i + 1;
			break;
		}
	}
}
void main(){
	cout << "Nhap";
	gets(s);
	kiemtra();
	inkq();
	system("pause");
	}
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?