C语言求大神帮忙! 下面程序的运行结果:请问为啥是D啊?求详细解析【】表示空格

2025-05-11 05:29:07
推荐回答(2个)
回答1:

因为你的char a[7] 是栈里系统分配的内存 在函数结束就会释放
你把指针改为系统分配的内存地址 在函数结束后就会失效,在释放后 自然这指针指向的值就会不正确,这种是典型的指针的错误用法。

回答2:

看来也只能选D了。fun函数中 s=a 只是修改了形参s的值,并不能修改main中实参p的值。