请找出下面代码中的所有错误说明:以下代码是把一个字符串倒序 如“abcd”倒序后变为“dcba” 1 #inc

行业问题 代码,字符串,错误 已帮助 人

请找出下面代码中的所有错误

说明:以下代码是把一个字符串倒序,如“abcd”倒序后变为“dcba”

1、#include"string.h"

2、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、}

热搜:下面关于恶意代码防范描述正确的是

答案解析

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