i'm trying to do pretty simple replacement using strtok. but it looks like i have missed some subtle difference between the two following char src[] = "hello world #"; char *other = "hello world #"; because if i use "char * other" with strtok it fails with bus error but i use src it works, don't understand what's the difference. here's the code for strtok. char delims[] = "#"; char *result = NULL; // this works result = strtok( src, delims ); // this doesnot work and give a bus error // result = strtok(other, delims); while( result != NULL ) { printf( "result is \"%s\"\n", result ); result = strtok( NULL, delims ); } what am i missing here ? i thought both way of declaration(mentioned above ) were the same apparently the r not, whats the diff ? any insight would be appreciated, TIA! -- To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html