调试出现access violation,这是怎么回事?
======================================code==================================
#include<stdio.h>
#include<string.h>
void uniontest(char *s,char *t);
main()
{
char a1[20]="what are doing?";
char b1[20]="what is this";
uniontest(a1,b1);
}
void uniontest(char *s,char *t)
{
int i,j,k;
int len1=strlen(s)-1;
int len2=strlen(t)-1;
char v[40];
for(i=0;i<len1;i++)
{
for(j=0;j<len2;j++)
{
if(s[i]==t[j])
v[k++]=s[i];
else
v[k++]=s[i];
v[k++]=t[j];
}//for
}//for
v[k]='\0';
printf("%s",v);
}
=============================================code end==========================
编译链接都没有错怎么就运行不出来,哪里有错误?
[解决办法]
嗯,问题比较多,帮你改好了,呵呵,看不懂你要干嘛
你要学会用调试器,还是很容易调试出来的
- C/C++ code
#include<stdio.h>#include<string.h>void uniontest(char *s,char *t);main(){ char a1[20]="what are doing?"; char b1[20]="what is this"; uniontest(a1,b1);}void uniontest(char *s,char *t){ int i,j,k; //************************** //修改如下: /*int len1=strlen(s)-1; int len2=strlen(t)-1;*/ int len1=strlen(s); int len2=strlen(t); char v[400]; k=0; //k要初始化 //************************** for(i=0;i<len1;i++) { for(j=0;j<len2;j++) { if(s[i]==t[j]) v[k++]=s[i]; else v[k++]=s[i]; v[k++]=t[j]; }//for }//for v[k]='\0'; printf("%s",v);}