In many modern OSs a string generated such as you have generated it lies in protected memory space. That means you can read it, but not write it. You can put it in local, writable space, if you like:
Code:
char writableString [] = "IDIOT";
char *start = writableString;
...etc., etc.