P1nkBlood 2020-04-12 16:39 采纳率: 100%
浏览 305
已采纳

C语言 字符串指针 char*

完成字符串的复制

#include <stdio.h>
void copy_string(char *from, char *to)
{
    char *p1,*p2;
    p1=from; p2=to;
    for (;*p1!='\0';p1++,p2++)
    *p2=*p1;
    *p2='\0';
}

main()
{char *a="Iam a teacher.";
char  *b="You are a student.";
printf("string_a=%s\nstring_b=%s\n",a,b);
copy_string(a,b); 
printf("string_a=%s\nstring_b=%s\n",a,b);
}

然后程序无法运行 求解 谢谢

  • 写回答

1条回答 默认 最新

  • threenewbee 2020-04-12 18:08
    关注

    char *a="Iam a teacher.";
    char *b="You are a student.";

    你这个是字符串常量,只能读不能写

    得换成
    char a[100];
    char b[100];

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 10月28日

悬赏问题

  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd