鱼C论坛

 找回密码
 立即注册
查看: 2128|回复: 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 编辑
#include<stdio.h>             //【修改】:缺少 #
#include <string.h>           //【添加】:
#include <stdlib.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 - 1 - i] = string[i]     ; // 【修改】:string2[size - i] 改为 string2[size - 1 - i]
  string2[size]='\0'                                                 ; // 【修改】:string[size + 1] 改为 string2[size] 
  printf("The string printed backward is %s \n" , string2)           ; // 【修改】:print 应该是 printf
}

main()
{
  char my_string[]="hello there"    ;
  my_print(my_string)               ;  //【修改】:中文字符 ';'
  my_print2(my_string)              ;  //【修改】:my_string2 应该是 my_string
}
        编译、运行实况:
D:\[00.Exerciese.2022]\C>g++ -o x x.c

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

D:\[00.Exerciese.2022]\C>
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-10-12 11:02:46 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2022-10-12 12:02 编辑
#include<stdio.h>             //【修改】:缺少 #
#include <string.h>           //【添加】:
#include <stdlib.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 - 1 - i] = string[i]     ; // 【修改】:string2[size - i] 改为 string2[size - 1 - i]
  string2[size]='\0'                                                 ; // 【修改】:string[size + 1] 改为 string2[size] 
  printf("The string printed backward is %s \n" , string2)           ; // 【修改】:print 应该是 printf
}

main()
{
  char my_string[]="hello there"    ;
  my_print(my_string)               ;  //【修改】:中文字符 ';'
  my_print2(my_string)              ;  //【修改】:my_string2 应该是 my_string
}
        编译、运行实况:
D:\[00.Exerciese.2022]\C>g++ -o x x.c

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

D:\[00.Exerciese.2022]\C>
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-27 12:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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