原谅我写这么简单的程序都还存在问题。。。表示我还不太会debug。。还是先展示错误代码,看看哪些地方存在问题
错误代码:
#include"string.h"
#include<stdio.h>
#include<stdlib.h>
int main()
{
char*src="hello,world";
char* dest=NULL;
int len=strlen(src);
dest=(char*)malloc(len);//“len”->“len+1”
char* d=dest;
char* s=src[len-1];
while(len--!=0)
d++=s--; //不是地址拷贝
printf("%s",dest);
return 0;
}
对,还没有释放内存!
改正后代码:
#include"string.h"
#include<stdio.h>
#include<stdlib.h>
int main()
{
char* src="hello,world";
char* dest=NULL;
int len=strlen(src);
dest=(char*)malloc(len+1);//
char* d=dest;
char* s=&src[len-1];
while(len--!=0)
*d++=*s--; //
printf("%s",dest);
free(dest);//动态申请内存后要记得释放
return 0;
}
运行结果———
不太清楚后面“妄。。”那一堆是怎么来的。。