0
点赞
收藏
分享

微信扫一扫

逆序字符串内容(函数方法)

逆序字符串使用函数的方法解决明确一下几点:

  1. 自定义函数deverse传的参数为char*str-首元素地址。
  2. 在printf打印字符串时,从首元素地址开始到'\0'为结束标志。
  3. 输入函数gets和scanf区别:前者打印空格,后者遇到空格、Tab键或回车默认为'\0'以结束。
    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    #include<assert.h>
    void deverse(char*str)
    {
    assert(str);
    char tmp = 0;
    int ret = strlen(str);
    char*left = str;
    char*right = str + ret -1;
    while(left<right)
    {
    tmp = *left;
    *left = *right;
    *right = tmp;
    left++;
    right--;
    }
    }
    int main()
    {
    char arr[100] = {0};
    gets(arr);   //读取一行数据(包含空格),从arr数组第一个元素地址开始,\0结束
    //scanf("%s",arr);  //scanf函数遇见空格、Tab键或回车默认为\0
    printf("原始字符串为:%s\n",arr);
    deverse(arr);
    printf("逆序后字符串为:%s\n",arr);
    system("pause");
    return 0;
    }
举报

相关推荐

0 条评论