为什么这个代码在msdev上运行时会产生访问冲突?

2 c pointers

while(*a++ = *b++){} 其中a和b是有效的char指针.

小智 11

如果b是10个字符的空终止字符串,并且a是已分配4个字符的缓冲区,则使用上面的代码在已分配的内存之外写入.


Pau*_*ell 7

一个替代答案:

char *a = "Hello";
char *b = "World";
Run Code Online (Sandbox Code Playgroud)

这些都是有效的char指针.但是a并没有指出可写的记忆.