字符串反序,逆序输出字符串

要注意\0问题。

在下面++,而不是在while中++。

--j。但是也不对,会把\0结束符弄到前面。

改为:

#include "stdafx.h"
void Reverse(char str[])
{
    int i=0,j=0;
    char c=0;
    while(str[j])
        ++j;
        while(i<--j)
        {
            c=str[i];
            str[i]=str[j];
            str[j]=c;
            ++i;
        }
        //看下面,是先将a和g对调,d和d对调,依次首尾对调。
}

int _tmain(int argc, _TCHAR* argv[])
{
    char s[128]="adfdsgdg";
    puts(s);
Reverse(s);
puts(s);
    return 0;
}

原文地址:https://www.cnblogs.com/wxl845235800/p/10541600.html

时间: 2024-12-10 23:39:03

字符串反序,逆序输出字符串的相关文章

【C语言】写一个函数,实现字符串内单词逆序

//写一个函数,实现字符串内单词逆序 //比如student a am i.逆序后i am a student. #include <stdio.h> #include <string.h> #include <assert.h> void reverse_string(char *left, char *right) //连续的字符串逆序 { char temp; while (right > left) { temp = *left; *left = *rig

将字符串按照单词逆序

/*2.将字符串按照单词逆序 输入一段字符串,已知字符串只由字母和空格构成,将字符串按照单词逆序 传入@"welcome to beijing" 返回 @"beijing to welcome" */ + (NSString *)reverseWordsInString:(NSString *)str //{ // NSArray * arr= [str componentsSeparatedByString:@" "]; // NSArray

将字符串依照单词逆序

/*2.将字符串依照单词逆序 输入一段字符串,已知字符串仅仅由字母和空格构成.将字符串依照单词逆序 传入@"welcome to beijing" 返回 @"beijing to welcome" */ + (NSString *)reverseWordsInString:(NSString *)str //{ // NSArray * arr= [str componentsSeparatedByString:@" "]; // NSArray

字符串按单词逆序

leetcode 151. https://leetcode.com/problems/reverse-words-in-a-string/ Example 1: Input: "the sky is blue" Output: "blue is sky the" Example 2: Input: "  hello world!  " Output: "world! hello" Explanation: Your reve

C#数组的排序(正序逆序)

这种排序 超级简单的 ! using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication4 { class Program { static void Main(string[] args) { string[] str = { "d","h","a","c",&

C++ 排序函数 sort(),qsort()的含义与用法 ,字符串string 的逆序排序等

上学时我们很多学了很多种排序算法,不过在c++stl中也封装了sort等函数,头文件是#include <algorithm> 函数名 功能描述 sort 对给定区间所有元素进行排序 stable_sort 对给定区间所有元素进行稳定排序 partial_sort 对给定区间所有元素部分排序 partial_sort_copy 对给定区间复制并排序 nth_element 找出给定区间的某个位置对应的元素 is_sorted 判断一个区间是否已经排好序 partition 使得符合某个条件的元

Ka递归的编程练习 Part2|做到吐的正序逆序输出、等差数列和

1 #include<stdio.h> 2 void PP(int n) 3 { 4 if(n==0) return; 5 PP(n/10); 6 printf("%d",n%10); 7 } 8 void NP(int n) 9 { 10 if(n==0) return; 11 printf("%d",n%10); 12 PP(n/10); 13 } 14 int Ad(int n) 15 { 16 if(n==0) return 0; 17 if(n

正序逆序生成单链表

typedef struct LNode{ int key; struct LNode *next; }LNode,*List; //正序生成单链表 void CreateList1(List &L,int n){ L=(List)malloc(sizeof(LNode)); L->next=NULL; LNode *q=L; for(int i=1;i<=n;i++) { LNode *p=(LNode *)malloc(sizeof(LNode)); scanf("%d&

UVA 10534-Wavio Sequence(dp_正序逆序最长上升子序列)

Wavio Sequence Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit Status Description Problem D Wavio Sequence Input: Standard Input Output: Standard Output Time Limit: 2 Seconds Wavio is a sequence of integers. It has some

字符串逆序

普通逆序 基本上没有这么考的,放在这里主要是为了和后面的原地逆序做个对比.很简单,直接分配一个与原字符串等长的字符数组,然后反向拷贝一下即可. char* Reverse(char* s) {    //将q指向字符串最后一个字符     char* q = s ;    while( *q++ ) ;     q -= 2 ;      //分配空间,存储逆序后的字符串.     char* p = newchar[sizeof(char) * (q - s + 2)] ;      char