将有多个字符串和空格组成的字符串分离成单独的字符串

图片说明

老师要求用两个指针来和一个数组来完成。为什么我总是前面正常,最后一个字符串无法输出(如图)
望大佬解答

// Q957823.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"

#include <stdio.h>
#include <string.h>

int main () {
    char s[50];
    printf("please enter the sentence within 49 characters:");
    scanf("%[^\n]", s);
    char* src[100];
    int n = 0;
    char * p = strtok(s, " "); 
    while (p)
    {
        printf("%s\n", p);
        src[n++] = p;
        p = strtok(NULL, " ");
    }    
    return 0;
}

please enter the sentence within 49 characters:i love tigers
i
love
tigers
Press any key to continue . . .