设为首页 加入收藏

TOP

C语言中将字符串倒 输出
2014-03-10 12:59:01 来源: 作者: 【 】 浏览:99
Tags:语言 中将 字符串   输出

  下面给大家分享一下这些代码,共有两种方法实现,用指针实现如下:

  #include <STDIO.H>

  int main()

  {

  char *src ="hello world";

  int len = strlen(src);

  char *dest = (char *)malloc(len+1);//要分配一个内存空间

  char *d =dest;

  char *s = &src[len-1];//指向最后一个字符

  while (len--!=0)

  *d++ = *s--;

  *d=0;//尾部要加'\0'

  printf("%s\n",dest);

  free(dest);//使用完应当释放空间,以免造成内存泄漏

  dest = NULL;//防止产生野指针

  return 0;

  }

  用数组实现如下:

  #include <STDIO.H>

  #include <STRING.H>

  int main()

  {

  char str[] = "Hello world";

  int len = strlen(str);

  char t;

  for (int i =0; i<LEN pre }< 0; return printf(?%s\n ,str); } str[len-i-1]="t;" str[i]="str[len-i-1];//交换字符" t="str[i];" { i++) 2;><BR>

  <P>Heap与stack得差别:</P>

  <P>Heap是堆,stack是栈</P>

  <P>stack得空间由操作系统自动分配/释放,Heap的空间手动分配/释放</P>

  <P>stack的空间有限,Heap 是很大的自由存储区</P>

  <P>C中的malloc函数分配的内存空间即在堆上,C++中对应的new操作符</P>

  <P>程序在编译期对变量和函数分配内存都在栈上进行,且程序运行过程中函数调用时参数的传递也在栈上进行</P>

  <P></P>

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇A+B输入输出练习系列题 下一篇如何成为一名优秀的C程序员

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: