C++:反向输出字符串

题目:实现反序输出字符串。

思路:

1.找到第一个"\0"。

2、输入循环,让输入的字符倒序输出。

例如下面输入字符ABC,由于编程中设置的长度为60,所以有六十个方框,及长度为60,输入一个字符占一个框,没占框的用\0表示。

                        0                     1                  2 (len-1)         3(len)

ABC\0\0
#include <stdio.h>
#include <iostream>    //用到输出,输入流的头文件
using namespace std;
int main()
{
  char str[60];    //char字符串,数组名[常量表达式];常量表达式表示元素个数,即数组长度
  int i;len=0;
  cout<<"请输入字符串"<<lendl;    //输入流
  scanf("%d",str);     //scanf中输入项是字符数组名,所以不加地址符&
  while(str[len]!='\0'    //用while 循环,表示当str[0]不是\0时,执行len++   *1
    len++;                //当while循环为假(0)时,执行for语句,而不执行len
  for(i=len-1;i>=0;i--)      //注意:给i的初始条件赋值,当前的位置时str[3],\0;但我们要的是str[2]的位置,所以赋值为len-1。其中0>=0时,成立但是0--为负数,负数时for为假,for循环截至
    printf ("%c",str[i]);    //输出:%c 指的是字符char,%d 是整型int,%f 是浮点型float
  return 0;
}

注释:

*1、当str[0]不是\0时,执行len++。

比如str[2]不是\0 (是C)时,往后++

其中   “!”是非,false转为ture,ture 转为false。

str[3]=\0时,while 循环为真(1),循环截至。

当while 循环为假  (0)时,执行for循环,而不执行len++

其中变量i(我觉得是指输入的字符,不知道对不对)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值