程序在运行之前是要经过编译的。
在编译器中看到的文件,比方说chengxu.c,在运行时运行的其实是编译生成的chengxu.exe。
chengxu.exe在运行时不可能修改其自身,因为chengxu.exe在运行时是被操作系统锁定的(至少在我了解的Linux和Windows中是这样,当一个线程在访问一个文件时,其他线程只能以只读的形式访问这个文件)。
但是,如果要用编译生成的chengxu.exe修改其编译前的文件体chengxu.c,只要用普通的问操作就可以了。不过在运行chengxu.exe之前,记得要先关闭编译器(解除操作系统对chengxu.c的锁定)。
楼主可以试一下。