谁帮忙看一下,这是什么原因?
有这样一个测试程序:
#include <string.h>
char * scpy(char a[], char b[])
{
char m[200];
int i = 0;
int j = 0;
while((m[i]=a[i]) != '\0')
{
i++;
}
while((m[i++]=b[j++]) != '\0');
printf("%s\n",m);
return m;
}
main()
{
char *a = "string";
char *b = "-test";
char *s = malloc(200);
s = scpy(a,b);
printf("%s\n",s);
}
在这种情况下输出:
string-test
string-test
变为如下情况后:
#include <string.h>
char * scpy(char a[], char b[])
{
char m[200];
int i = 0;
int j = 0;
while((m[i]=a[i]) != '\0')
{
i++;
}
while((m[i++]=b[j++]) != '\0');
//注释下面语句
//printf("%s\n",m);
return m;
}
main()
{
char *a = "string";
char *b = "-test";
char *s = malloc(200);
s = scpy(a,b);
printf("%s\n",s);
}
输出乱码:
h?