I have noticed a problem that I can't explain.

When using `strspn`, it won't recognize the pound symbol unless it's the first character in the string.

Create 2 files:
Code:
touch "#here" "there#"
Compile this code:
Code:
#include <stdio.h>
#include <string.h>

int main (int argc, char *argv[])
{
    printf("Location: %lu\n", (argv[1], "#"));
    return(0);
}
When you run `program \#here` it lists the location as 1, which is correct. When you run `program there#` it says the position is 0, which is wrong.

I'm using `strspn` to search for a bunch of special characters, and every other character seems to work with it, except the pound symbol. I understand I won't be able to change this behaviour, but why is it happening?