Running:
#include <stdio.h>
int main(int argc, char *argv[]) {
const char *exp = "10-2+3*5";
char tok[255];
sscanf(exp, "%[^+-*/^]", tok);
printf("%s\n", tok);
sscanf(exp, "%[^-+*/^]", tok);
printf("%s\n", tok);
return 0;
}
Would output:
10-2
10
But why?