10下面代码中的有几处错误 说明以下代码是把一个字符串倒序如abcd倒序胡变为dcba#include string hint mainchar src= hello world ;char dest=NULL;int len=strlenstr;dest= char malloc len ;char d=dest;char s=srclen;whilelen-- !=0d++ = s--;pri
该代码中有以下错误:
- 缺少了头文件的尾括号。
- 字符串 "hello. world" 缺少双引号内的空格,应该为 "hello. world"。
- 变量
str未定义,应该为src。 strlen(str)应该改为strlen(src)。char *s=src[len];应该改为char *s=&src[len-1];。d++ = s--;应该改为*d++ = *s--;。printf(“%s”,dest);中的双引号应该使用英文双引号。printf函数缺少分号。- 代码中缺少
free(dest);来释放内存。
正确代码如下:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
char *src = "hello. world";
char *dest = NULL;
int len = strlen(src);
dest = (char*) malloc(len);
char *d = dest;
char *s = &src[len-1];
while(len-- != 0)
*d++ = *s--;
*d = '\0';
printf("%s", dest);
free(dest);
return 0;
}
``
原文地址: https://www.cveoy.top/t/topic/iDuk 著作权归作者所有。请勿转载和采集!