鱼C论坛

 找回密码
 立即注册
查看: 3454|回复: 8

求大神们看看,哪里错了

[复制链接]
发表于 2012-12-29 20:26:13 | 显示全部楼层 |阅读模式
1鱼币
#include <stdio.h>
#include <string.h>
char *fun(char *p);
#define N 100
void main()
{
char a[N] = {0},*c = NULL;
gets(a);
c=fun(a);
puts(c);

}
char *fun(char *p)
{
char t[2*N] = {0};int len = 0,j = 0, i = 0;
len = strlen(p);
while(len>0&&i<2*N)
{
t[i] = *(p+(len-1));
i++;
len--;

}
while(*(p+j)!=0&&i<2*N)
{
t[i] = *(p+j);
j++;
i++;

}
t[i]= '\0';
return (t);

}先将在字符串s中的字符按逆序存放到t串中,然后把s中的字符按正序连接到t串的后面。例如:当s中的字符串为ABCDE时,则t中的字符串应为EDCBAABCDE。帮忙看哈哪里错了

最佳答案

点评

下次还请楼主把代码放进"<>"中方便网友查看  发表于 2012-12-29 23:17
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-12-29 20:26:14 | 显示全部楼层
本帖最后由 ycg 于 2012-12-30 09:52 编辑
  1. #include <stdio.h>
  2. #include <string.h>
  3. char *fun(char *p);
  4. #define N 100
  5. void main()
  6. {
  7. char a[N] = {0},*c = NULL;
  8. gets(a);
  9. c=fun(a);
  10. puts(c);

  11. }
  12. char *fun(char *p)
  13. {
  14. char *t = NULL;int len = 0,j = 0, i = 0;
  15. len = strlen(p);
  16. t=malloc(200);
  17. while(len>0&&i<2*N)
  18. {
  19. *(t+i) = *(p+(len-1));
  20. i++;
  21. len--;

  22. }
  23. while(*(p+j)!=0&&i<2*N)
  24. {
  25. *(t+i) = *(p+j);
  26. j++;
  27. i++;

  28. }
  29. *(t+i)= '\0';

  30. return(t);

  31. }
  32. 在你的代码的基础上修改的
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-12-30 14:30:57 | 显示全部楼层
楼主只要把t改成t[i]就可以了。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-12-31 08:19:28 | 显示全部楼层
一楼应该正解,楼主要学会自己调试程序才对啊
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-12-31 08:44:20 | 显示全部楼层
说实话 咱 不知道 我刚刚学C
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-1-2 11:14:16 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-1-2 14:51:01 | 显示全部楼层
头文件增加 #include <malloc.h>

再把   t=malloc(200);
改为   t=(char*)malloc(200);
就OK了。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-1-2 20:50:20 | 显示全部楼层
谢谢,能不能加你qq,以后有什么事可以请教你!我的是1014030682
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-1-3 11:45:48 | 显示全部楼层
一介白书生 发表于 2013-1-2 11:14
这个函数malloc对于vs编译器 在那个头文件里面?

我用的codeblocks
vc应该是头文件增加 #include <malloc.h>
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-6 09:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表