C语言指针的一个程序,VS2010 C++出错. TCC成功运行.该怎么处理

C语言指针的一个程序,VS2010 C++出错... TCC成功运行...
C/C++ code

#include<stdio.h>
void main()
    {
        char *a="hello man!";        
        *(a+4)='\0';
        while(*a)
            putchar(*a++);
        
        puts("");
    }



VS2010 C/C++出错
C/C++ code

12345.exe 中的 0x76f415de 处有未经处理的异常: 0xC0000005: 写入位置 0x00ac57b4 时发生访问冲突



TCC编译运行没有问题...

求解释啊

------解决方案--------------------
*(a+4)='\0';试图在常数区写入,但那里被VS的编译器设置为只读区了,没法写。

TCC太老了,这样的错误都容忍。