c语言如何颠倒字符串顺序

#include<stdio.h>
int main()
{
	void over(char *p);
	char a[]="program";
	char *p;
	p=a;
	over(p);
	printf("颠倒后的内容是:%s\n",a);
	return 0;
}

void over(char *p)
{
	char t;
	int i;
	for(i=0;i<3;i++)
	{
		t=*(p+i);
		*(p+i)=*(p+6-i);
		*(p+6-i)=t;
	}
}

代码分析

在main函数中

第一行,void over(char *p)表示的是函数递归,函数递归是用在主函数在前,定义函数在后的情况。

第二行,定义了一个数组

第三行,定义一个指针变量p

第四行,指针变量p被引用到数组a的第一个地址

第五行,执行over函数

第六行是打印出内容

看一下定义的over函数的内容

char t:定义一个字符型变量t

int i 定义一个整数型变量i

下面是一个for循环

    for(i=0;i<3;i++)

    {
        t=*(p+i);
        *(p+i)=*(p+6-i);
        *(p+6-i)=t;
    }

假设i=0,符合i<3的条件,t=*(p+i)=*(0+0)=*1,这是引用数组第一个元素值,*(p+i)=*(p+6-i)表示*(0+0)=*(0+6-0),第7个元素和第一个元素的内容互换

 *(p+6-i)=t,是把第7个元素内容重新赋值t

然后执行i=1的循环

t先赋值引用第二个数组元素,第二个数组元素和第六个元素互换,第六个元素再赋值给t,以此循环下去

相关推荐

  1. c语言如何颠倒字符串顺序

    2024-03-25 02:50:02       36 阅读
  2. HJ11 数字颠倒C语言

    2024-03-25 02:50:02       49 阅读
  3. C语言如何⽤指针表示字符串

    2024-03-25 02:50:02       32 阅读
  4. 顺序表(C语言)

    2024-03-25 02:50:02       33 阅读
  5. 顺序表(C语言

    2024-03-25 02:50:02       22 阅读
  6. C语言所有字符串函数举例如何使用

    2024-03-25 02:50:02       56 阅读
  7. C语言如何进⾏字符串的⽐较?

    2024-03-25 02:50:02       39 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-25 02:50:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-25 02:50:02       101 阅读
  3. 在Django里面运行非项目文件

    2024-03-25 02:50:02       82 阅读
  4. Python语言-面向对象

    2024-03-25 02:50:02       91 阅读

热门阅读

  1. 网络安全工程师学习路线汇总

    2024-03-25 02:50:02       44 阅读
  2. 安卓面试题多线程 131-135

    2024-03-25 02:50:02       37 阅读
  3. 关于利率,你需要知道的那些事

    2024-03-25 02:50:02       47 阅读
  4. platform devices创建实例

    2024-03-25 02:50:02       34 阅读
  5. AOP原理和切面应用

    2024-03-25 02:50:02       35 阅读
  6. P8717 [蓝桥杯 2020 省 AB2] 成绩分析 Python

    2024-03-25 02:50:02       44 阅读
  7. 【算法】数论---乘法逆元

    2024-03-25 02:50:02       46 阅读
  8. C. Lexicographically Largest - 思维

    2024-03-25 02:50:02       46 阅读