массив символов и типы символов различаются в c, первый использует "
в качестве разделителя, а второй использует '
Так попробуйте это:
while(tab[i] != ' ') {
Что должно сработать для вашего примера.
Однако, чтобы заставить ваш код работать более широко для разных подстрок (кроме символа пробела) и для строк без пробела, вам также нужно использовать размер, например:
while(i < size && tab[i] != ' ') {
чтобы убедиться, что вы не пытаетесь читать за пределы памяти, в которой находится ваша строка.