Assume the main function is defined with int main(int argc, char *argv[]) { /*...*/ } So, is it permitted to modify the argv array? The standard says "The parameters argc and argv and the strings pointed to by the argv array shall be modifiable by the program,[...]". According to my reading of the standard, for example, ++argv and ++argv[0][0] are both ...