`

使用指针实现字符串倒序排列

 
阅读更多
#include <stdio.h>
#include <string.h>

int main ()
{
	char str[200], ch;
	char *p, *q;

	gets(str);					// 读取控制台输入的字符串
	p = str;					// p指向字符串的首地址
	q = p + strlen(p) - 1;		// q指向字符串的末地址

	while ( p < q )
	{							// 交换p和q各自指向的字符
		ch = *p;				// 将p所指向的字符保存在ch中
		*p++ = *q;				// 将q指向的字符赋予p指向的字符单元,之后p增1
		*q-- = ch;				// 将ch的值赋给q指向的字符单元,之后q减1
	}
	printf("%s\n", str);

	return 0;
}

在控制台输入“I love android!”

 
分享到:
评论

相关推荐

    C 语言 指针实现字符串的逆序调序输出

    本程序旨在通过指针实现字符串的逆序和调序输出,这两个概念是字符串操作中的常见技巧。 逆序输出字符串是指将字符串中的字符顺序反转,例如原字符串"hello"逆序后变为"olleh"。在C语言中,我们可以用指针来达到这...

    字符串逆向转换三种方法及性能

    在编程领域,字符串逆向转换是一项常见的操作,它涉及到对字符串中的字符进行倒序处理。在不同的编程语言中,有多种方法可以实现这一功能。本文将深入探讨三种主要的字符串逆向转换方法,并分析它们的性能特点。 1....

    ZIFUCHUAN.zip_字符串反转

    字符串反转是一种常见的编程练习,涉及对字符序列进行倒序排列。 字符串反转在多种编程语言中都有不同的实现方法,下面我们将详细探讨几种常见的方法: 1. **循环法**:这是最直观的方法,通过两个指针,一个从...

    StringProject

    2. **字符串倒序输出**: 这个功能简单但实用,它涉及字符串的基本操作。在许多编程语言中,可以使用内置函数或者自定义方法实现字符串的反转,例如在Python中,可以使用切片操作`[::-1]`轻松实现。 3. **单词不...

    南开大学三级网络09最新题库

    2. **字符串倒序输出**:使用双指针技术,一个指针从字符串末尾开始向前移动,另一个指针从字符串开头开始向后移动,进行字符交换。 3. **文件读写**:从`IN.DAT`文件中读取字符串,处理后将结果写入`OUT6.DAT`文件...

    string-reverse2.rar_string rever_string reverse

    字符串反转即是从后往前遍历字符串,将字符逐个交换到对应的位置,以达到倒序排列的效果。 在C语言中,有几种常见的字符串反转方法: 1. **双指针法**:这是最常见的字符串反转方法,通过两个指针,一个从字符串...

    微软面试15题

    24. 字符串倒序:直接交换字符串首尾,然后向中间移动两个指针进行交换,直至相遇。 25. 实现`memmove`函数:可以使用双指针,一个从源地址开始复制,一个从目标地址开始,同时向中间移动。 这些题目涵盖了数组...

    php常用函数 学习整理

    - `strrev()`:将字符串倒序排列。 - `explode()`:根据分隔符将字符串拆分为数组。 - `implode()`:将数组元素合并为一个字符串。 - `strtolower()`和`strtoupper()`:分别将字符串转为小写和大写。 - `...

    计算机三级上机题库

    4. **字符串倒序处理**: - 题目4要求实现一个函数`StrOL`,以行为单位对英文文章中的单词进行倒序排列,但保留原有的句子结构。首先,该函数会读取文件中的每一行,然后对行中的每个单词(以空格或标点符号为分隔...

    Java 微软面试题

    1. **字符串倒序**:在C语言中,可以通过指针操作实现原地反转。 2. **memmove函数**:实现内存拷贝,需考虑重叠区域的处理。 3. **蚂蚁问题**:可以使用贪心算法或深度优先搜索找到所有蚂蚁相遇的顺序。 以上是...

    CString函数大全.doc

    例如,调用`csStr.MakeReverse()`后,原字符串将会被倒序排列。 3. void MakeUpper() 和 void MakeLower():将字符串中的所有字母转换为大写或小写。这两个函数对于不区分大小写的文本处理非常有用。 4. int ...

    计算机等级考试三级数据库机试试题

    本文主要涉及的是计算机编程中的字符串处理和文件操作,具体是在C语言环境下解决一个特定的问题,即实现英文文章中单词的倒序排列。以下是相关知识点的详细说明: 1. **文件操作**: - `fopen()` 函数用于打开文件...

    计算机二级c语言上机之程序填空题.pdf

    在实现过程中,使用了`strlen`函数来计算字符串的长度,这是C语言标准库提供的函数,用于获取字符串的实际长度。`for`循环遍历数组,比较每个字符串的长度,将最大长度存储在`n`中,并记录最长字符串的索引`k`。在第...

    全国计算机二级C语言上机填空题题库.pdf

    使用指针操作实现两个字符串的连接。 15. 题目32:计算数组平均值并四舍五入。涉及数组遍历、平均值计算以及四舍五入的实现。 16. 题目33:数组元素对调。根据数组长度和奇偶性,确定中间元素的位置,然后对称地...

    算法栈的应用栈的实现

    例如,从十进制转二进制,可以使用“除基取余”法,不断地将十进制数除以2,取余数,并倒序排列余数,就得到了二进制数。同样,也可以将其他进制转换为十进制,然后再转换成目标进制。在C++编程中,可以利用字符串...

    2008年南开百题 C语言编程题

    这个题目重点在于字符串处理和指针操作。通过双层循环遍历字符串,查找'o'并进行相应操作,使用临时数组`tem`来存储处理后的字符串。 4. **单词倒序**: - 最后一个问题要求编写`StrOL`函数,以行为单位,对每个...

Global site tag (gtag.js) - Google Analytics