是小白喔 2021-09-27 15:54 采纳率: 66.7%
浏览 41
已结题

令字符指针为一字符串作为实参传给形参数组,运行不出来?

#include<stdio.h>
int main()
{
void copy_string(char from[], char to[]);
char *a = "I am a teacher.";
char *b = "You are a student.";
printf("string a = %s\nstring b = %s\n",a, b);
printf("\ncopy string a to string b:\n");
copy_string(a, b);
printf("a = %s\nb = %s\n", a, b);
return 0;
}

void copy_string(char from[], char to[])
{
int i = 0;
while(from[i] != '\0')
{
to[i] = from[i];
i++;
}
to[i] = '\0';
}
a,b作为字符串的第一个字符的地址传给形参数组,为什么执行出来无法完成复制操作呢?
是因为函数体执行语句的格式为数组,而在主函数中未定义数组吗?

  • 写回答

3条回答 默认 最新

  • 快乐鹦鹉 2021-09-27 16:01
    关注

    a和b都是常量指针,其内容是不可以修改的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 9月27日
  • 已采纳回答 9月27日
  • 修改了问题 9月27日
  • 创建了问题 9月27日