69,371
社区成员
发帖
与我相关
我的任务
分享
int len = 0;
char str[128] = "";
char *des = NULL;
char *tmp;
scanf("%s",str);
len = strlen(str);
tmp = (char *)malloc(sizeof(char)*len);
int l=strlen(tmp);//
des = tmp;
memset(des,'\0',len);//ZeroMemory(des,len);
for (int i = 1; i <= len; i++)
{
*des = *(str+len-i);
des++;
}
memcpy(str,tmp,len);
if ( tmp != NULL )
{
free(tmp);
}
tmp = des = NULL;
getchar();
return 0;
size_t len = 0;
char str[128] = "";
char *des = NULL;
char *tmp = NULL;
scanf("%s",str);
strcpy(str,"dfdf");
len = strlen(str);
tmp = (char *)malloc(sizeof(char)*len); //tmp为作为保留起始指针,后面free(tmp)
des = tmp;//操作里面的值,用des
//到这不知道怎么搞的,竟然度为16 = strlen(tmp);
ZeroMemory(des,len);
for (int i = 1; i <= len; i++)
{
*des = *(str+len-i);
des++;
}
strcpy(str,tmp);
if ( tmp != NULL )
{
free(tmp);
}
tmp = des = NULL;
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
char *reverse(char src[])
{
char *ret = src;
char *end = src;
if (src == NULL)
return NULL;
end += strlen(src);
while(src < --end)
{
char ch = *src;
*src = *end;
*end = ch;
++src;
}
return ret;
}
int main()
{
char src[128];
printf("Input a string\n");
gets(src);
printf("\n%s\n", reverse(src));
system("pause");
return 0;
}