Witam,
mam taki oto program:
#include <stdio.h>
#include <string.h>
char func[50] = "a b c d e";
void eval()
{
const char s[2] = " ";
char *token = strtok(func, s);
while( token != NULL )
{
printf("%s\n",token);
token = strtok(NULL, s);
}
printf("\n");
}
int main()
{
for(int i=1;i<3;i++)
{
eval();
}
}
Wykonanie go daje rezultat:
a
b
c
d
e
a
Moje pytanie dotyczy tego, dlaczego przy drugim wywołaniu funkcji eval(), strtok nie wykonuje pętli dla wszystkich elementów func?
Zupełnie tak, jakby nulla napotykał.