鱼C论坛

 找回密码
 立即注册
查看: 61|回复: 4

[已解决]求助:VC6.0编译没问题,单点调试出错,自身无法解决。

[复制链接]
发表于 2021-6-11 00:34:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
#include<stdio.h>
#include<math.h>
//有一个字符串,包含N个字符,写一函数,将此字符串从第m个字符开始的全部字符复制成另一个字符串

void copystring1(char *a,char *b,int m);

void main()
{
        char a[20];
        char b[20]="\0";
        int m;
        printf("请输入字符串:");
        gets(a);
        printf("请输入从哪儿开始");
        scanf("%d",&m);
        copystring1(a,b,m);//单点调试到这儿就报错,求问是什么原因 ,提示是0xC0000005: Access Violation
        printf("%s",*b);
}

void copystring1(char *a,char *b,int m)
{
        int *p;
       
        for(*p=*(a+m-1);*p!='\0';p++,b++)
        {
                *b=*p;

        }
}


以上是源码,调试到copystring1(a,b,m)就报错, 也搞不清楚原因, 还没进到函数。。
最佳答案
2021-6-11 00:45:53
  1. #include <stdio.h>
  2. #include <math.h>

  3. // 有一个字符串,包含N个字符,写一函数,将此字符串从第m个字符开始的全部字符复制成另一个字符串

  4. void copystring1(char *a,char *b,int m);

  5. int main(void)
  6. {
  7.     char a[20];
  8.     char b[20]="";
  9.     int m;
  10.     printf("请输入字符串:");
  11.     gets(a);
  12.     printf("请输入从哪儿开始");
  13.     scanf("%d",&m);
  14.     copystring1(a,b,m);     // 单点调试到这儿就报错,求问是什么原因 ,提示是0xC0000005: Access Violation
  15.     printf("%s",b);
  16.     return 0;
  17. }

  18. void copystring1(char *a,char *b,int m)
  19. {
  20.     char *p;
  21.     for(p=(a+m-1);*p!='\0';p++,b++)
  22.     {
  23.         *b=*p;

  24.     }
  25.     *b = '\0';
  26. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2021-6-11 00:37:04 | 显示全部楼层
求大佬把源码考过去帮我解解惑, 暂时不谈能不能正常的完成题目, 为什么走到函数copystring1就会报错呢。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2021-6-11 00:45:53 | 显示全部楼层    本楼为最佳答案   
  1. #include <stdio.h>
  2. #include <math.h>

  3. // 有一个字符串,包含N个字符,写一函数,将此字符串从第m个字符开始的全部字符复制成另一个字符串

  4. void copystring1(char *a,char *b,int m);

  5. int main(void)
  6. {
  7.     char a[20];
  8.     char b[20]="";
  9.     int m;
  10.     printf("请输入字符串:");
  11.     gets(a);
  12.     printf("请输入从哪儿开始");
  13.     scanf("%d",&m);
  14.     copystring1(a,b,m);     // 单点调试到这儿就报错,求问是什么原因 ,提示是0xC0000005: Access Violation
  15.     printf("%s",b);
  16.     return 0;
  17. }

  18. void copystring1(char *a,char *b,int m)
  19. {
  20.     char *p;
  21.     for(p=(a+m-1);*p!='\0';p++,b++)
  22.     {
  23.         *b=*p;

  24.     }
  25.     *b = '\0';
  26. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2021-6-11 08:54:59 | 显示全部楼层
顶帖, 看看有大佬回答我吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2021-6-11 09:02:46 | 显示全部楼层

具体是哪里出问题了哦 大佬?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1

GMT+8, 2021-6-24 20:18

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表