您好、欢迎来到现金彩票网!
当前位置:21点 > 字符相关 >

C语言字符串数组反转相关的问题

发布时间:2019-07-04 01:56 来源:未知 编辑:admin

  char Resever[7]={1}; 这里的为什么一定要括号里的,书里没有说明这点

  我尝试过把7改成6,后面不减2,但是第二个的输出结果是tfosrm烫mrsoft

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  可以使用栈后进先出的特性来对数组进行反转。先将数组所有元素压入栈,然后再取出,顺序很自然地就与原先相反了。

  字符串都是以‘\0’字符结束的,“mrsoft”这个字符串的长度实际是7,计算机要靠最后一位\0来区分到了字符串结束。

  第二个数组的赋初值就要求那么做,大括号内的数字用逗号分开就依次是赋值给数组的元素。

  size的值是数组长度7,要把字符串翻转就把数组string中的0-5号元素倒过来赋值给Resever数组的5-0号元素了。

  补充一点,Resever数组的赋初值很重要,这个赋初值把数组其他元素赋值为0了,这样Resever收到翻转后的数组后,最后一位是0,也就是\0,这样才是一个字符串,否则输出的时候就会出现汉子那种乱码。

  展开全部c语言中字符串是需要以0结尾的,printf输出字符串直到遇到0才知道什么时候结束。所以存储mrsoft需要7个字节。 char Resever[7]={1}是初始化数组,初始化为1000000。追问如果初始化没有后面的大括号,为什么会出错,是初始化一定要赋值么,书上的例子都是有赋值的,还有后面的减2呢追答养成好习惯,任何变量都要初始化。

  全局变量如果没有初始化,那么每个字节好像在VS和VC++里面就是0xCC吧,打印出来就是烫。

http://magaltouba.com/zifuxiangguan/178.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有