关于c语言字符指针变量指向字符串常量的疑问

2024-12-04 00:59:38
推荐回答(2个)
回答1:

错误原因:a、b是字符指针,它们指向常量字符串。当你把它们作为参数传递给函数copy_string时,函数所做的操作就是改变b所指向的字符串的值,所以错误。你要知道常量字符串时不能改变值的(这涉及到存储位置的知识,常量字符串存储在常量区,就像const声明的常量一样,改变它的值就是非法的),你只能改变b,让其指向其他字符串。
修正方法:将b改为长度适宜的字符数组。

回答2:

牛人?我看是垃圾。a,b指向的是常量