鱼C论坛

 找回密码
 立即注册
查看: 2432|回复: 1

[已解决]帮忙看看这段代码哪里有错啊

[复制链接]
发表于 2022-10-12 10:55:04 From FishC Mobile | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>
void my_print(char *string)
{
  printf("The string is %s\n",string);
}
void my_print2(char *string)
{
  char *string2;
  int size,i;
  size=strlen(string);
  string2=(char *)malloc(size+1);
  for(i=0;i<size;i++)
  string2[size-i]=string[i];
  string[size+1]='\0';
  print("The string printed backward is %s \n",string2);
}
main()
{
  char my_string[]="hello there";
  my_print(my_string);
  my_print2(my_string2);
}
最佳答案
2022-10-12 11:02:46
本帖最后由 jackz007 于 2022-10-12 12:02 编辑
  1. #include<stdio.h>             //【修改】:缺少 #
  2. #include <string.h>           //【添加】:
  3. #include <stdlib.h>           //【添加】:

  4. void my_print(char *string)
  5. {
  6.   printf("The string is %s\n",string);
  7. }
  8. void my_print2(char *string)
  9. {
  10.   char *string2;
  11.   int size,i;
  12.   size=strlen(string);
  13.   string2 = (char *)malloc(size + 1)                                 ;
  14.   for(i = 0 ; i < size ; i ++) string2[size - 1 - i] = string[i]     ; // 【修改】:string2[size - i] 改为 string2[size - 1 - i]
  15.   string2[size]='\0'                                                 ; // 【修改】:string[size + 1] 改为 string2[size]
  16.   printf("The string printed backward is %s \n" , string2)           ; // 【修改】:print 应该是 printf
  17. }

  18. main()
  19. {
  20.   char my_string[]="hello there"    ;
  21.   my_print(my_string)               ;  //【修改】:中文字符 ';'
  22.   my_print2(my_string)              ;  //【修改】:my_string2 应该是 my_string
  23. }
复制代码

        编译、运行实况:
  1. D:\[00.Exerciese.2022]\C>g++ -o x x.c

  2. D:\[00.Exerciese.2022]\C>x
  3. The string is hello there
  4. The string printed backward is ereht olleh

  5. D:\[00.Exerciese.2022]\C>
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-10-12 11:02:46 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2022-10-12 12:02 编辑
  1. #include<stdio.h>             //【修改】:缺少 #
  2. #include <string.h>           //【添加】:
  3. #include <stdlib.h>           //【添加】:

  4. void my_print(char *string)
  5. {
  6.   printf("The string is %s\n",string);
  7. }
  8. void my_print2(char *string)
  9. {
  10.   char *string2;
  11.   int size,i;
  12.   size=strlen(string);
  13.   string2 = (char *)malloc(size + 1)                                 ;
  14.   for(i = 0 ; i < size ; i ++) string2[size - 1 - i] = string[i]     ; // 【修改】:string2[size - i] 改为 string2[size - 1 - i]
  15.   string2[size]='\0'                                                 ; // 【修改】:string[size + 1] 改为 string2[size]
  16.   printf("The string printed backward is %s \n" , string2)           ; // 【修改】:print 应该是 printf
  17. }

  18. main()
  19. {
  20.   char my_string[]="hello there"    ;
  21.   my_print(my_string)               ;  //【修改】:中文字符 ';'
  22.   my_print2(my_string)              ;  //【修改】:my_string2 应该是 my_string
  23. }
复制代码

        编译、运行实况:
  1. D:\[00.Exerciese.2022]\C>g++ -o x x.c

  2. D:\[00.Exerciese.2022]\C>x
  3. The string is hello there
  4. The string printed backward is ereht olleh

  5. D:\[00.Exerciese.2022]\C>
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-23 23:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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