请找出下面代码中的所有错误。说明:以下代码的功能是把一个字符串倒序,如“abcd”倒序后变为“dcba”。
1 #include "string.h"
2 int main()
3 {
4 char *src = "hello,world";
5 char *dest = NULL;
6 int len = strlen(src);
7 dest = (char *)malloc(len);
8 char *d = dest;
9 char *s = src[len];
10 while (len-- != 0)
11 *d++ = *s--;
12 printf("%s", dest);
13 return 0;
14
15} 






方法1:
int main() { char *src = "hello,world"; int len = strlen(src); char *dest = (char *)malloc(len + 1); //要为\0分配一个空间 char *d = dest; char *s = &src[len - 1]; //指向最后一个字符 while ( len-- != 0 ) *d++ = *s--; *d = 0; //尾部要加\0 printf("%s\n", dest); free(dest);// 使用完,应当释放空间,以免造成内存汇泄露 return 0; }int main() { char str[] = "hello,world"; int len = strlen(str); char t; for (int i = 0; i < len; i++) { t = str[i]; str[i] = str[len - i - 1]; str[len - i - 1] = t; } printf("%s", str); return 0; }