A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wangxiaoxuxu 中级黑马   /  2016-6-14 21:26  /  919 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

//
//  main.m
//
//  Created by mac on 4/27/16.
//  Copyright © 2016 mac. All rights reserved.
//

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    //
    char str1[100];
    char str2[100];
    //
    printf("请输入一个字符串:\n");
    gets(str1);
    //
    unsigned long len1 = strlen(str1);
    //
    for (int i = 0 ,j = (int)len1 - 1; i < len1; i++,j--) {
        str2[j] = str1[i];
    }
    //
    puts(str2);
    return 0;
}

5 个回复

正序浏览
阿泽泽 发表于 2016-6-17 17:19
不用那么麻烦 直接输出就行了
   
  char arr[] = "abcdefg123";

你们的方法还是有区别的,楼主是将反转字符重新保存再打印,而你是直接倒序打印,各有各的优点
回复 使用道具 举报
不用那么麻烦 直接输出就行了
   
  char arr[] = "abcdefg123";
        
      //第一个方法
        for (int i = 0; i < strlen(arr); i++)
        {
            printf("%c",arr[strlen(arr)-i-1]);
           
        }
        
        NSLog(@"--------");
        
       //第二个方法
        unsigned long len = strlen(arr);
        for (int i = (int)len-1; i >=0; i--)
        {
            printf("%c",arr[i]);
           
        }
        
回复 使用道具 举报
凑个热闹,
回复 使用道具 举报
围观大神
回复 使用道具 举报
才发现你这么厉害
一开始我都没看懂为什么判断条件只写i<len而没有写j>0
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马