求助:VC6.0编译没问题,单点调试出错,自身无法解决。
#include<stdio.h>#include<math.h>
//有一个字符串,包含N个字符,写一函数,将此字符串从第m个字符开始的全部字符复制成另一个字符串
void copystring1(char *a,char *b,int m);
void main()
{
char a;
char b="\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)就报错, 也搞不清楚原因, 还没进到函数。。 求大佬把源码考过去帮我解解惑, 暂时不谈能不能正常的完成题目, 为什么走到函数copystring1就会报错呢。。 #include <stdio.h>
#include <math.h>
// 有一个字符串,包含N个字符,写一函数,将此字符串从第m个字符开始的全部字符复制成另一个字符串
void copystring1(char *a,char *b,int m);
int main(void)
{
char a;
char b="";
int m;
printf("请输入字符串:");
gets(a);
printf("请输入从哪儿开始");
scanf("%d",&m);
copystring1(a,b,m); // 单点调试到这儿就报错,求问是什么原因 ,提示是0xC0000005: Access Violation
printf("%s",b);
return 0;
}
void copystring1(char *a,char *b,int m)
{
char *p;
for(p=(a+m-1);*p!='\0';p++,b++)
{
*b=*p;
}
*b = '\0';
}
顶帖, 看看有大佬回答我吗? 人造人 发表于 2021-6-11 00:45
具体是哪里出问题了哦 大佬?
页:
[1]