C语言:写一个函数,实现3*3矩阵的转置(指针)
分析:
在主函数 main 中,定义一个 3x3 的整型数组 a,并定义一个指向整型数组的指针 p。然后通过循环结构和 scanf 函数,从标准输入中读取用户输入的 3x3 矩阵的值,并存储到数组 a 中。
接下来,调用 move 函数,传递给它整型数组 a 的地址,即 a 数组的首地址。move 函数的目的是对输入的矩阵进行转置操作,即行列互换。在 move 函数中,使用两重循环遍历数组中的元素,并通过指针操作实现数组元素值的互换,从而实现矩阵的转置。
最后,程序输出转置后的矩阵,同样使用循环和指针操作来访问数组中的元素,并通过 printf 函数将每个元素的值输出到屏幕上。
代码:
#include<stdio.h>
void move(int (*p)[3])
{int i,j,temp;for(i=0;i<3;i++)for(j=0;j<i;j++){temp=*(*(p+i)+j);*(*(p+i)+j)=*(*(p+j)+i);*(*(p+j)+i)=temp;}
}
int main()
{int a[3][3];int (*p)[3],i,j,temp;p=a;printf("input:\n");for(i=0;i<3;i++)for(j=0;j<3;j++)scanf("%d",&a[i][j]);move(p);printf("output:\n");for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%3d ",*(*(p+i)+j));printf("\n");} return 0;
}
运行结果:

相关文章:
C语言:写一个函数,实现3*3矩阵的转置(指针)
分析: 在主函数 main 中,定义一个 3x3 的整型数组 a,并定义一个指向整型数组的指针 p。然后通过循环结构和 scanf 函数,从标准输入中读取用户输入的 3x3 矩阵的值,并存储到数组 a 中。 接下来,调用 mov…...
STL pair源码分析
STL pair源码分析 pair是STL中提供的一个简单的struct,用来处理类型不同的一对值,是非常常用的数据结构。这一对值是以public的形式暴露出来的,直接通过first和second就能访问。我们以MSVC提供的STL源码为例,分析pair的具体实现。…...
【开源】基于Vue和SpringBoot的农家乐订餐系统
项目编号: S 043 ,文末获取源码。 \color{red}{项目编号:S043,文末获取源码。} 项目编号:S043,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用户2.2 管理员 三、系统展示四、核…...
MyBatis 操作数据库(入门)
一:MyBatis概念 (1)MyBatis 💗MyBatis是一款优秀的持久层框架,用于简化JDBC的开发 (2)持久层 1.持久层 💜持久层:持久化操作的层,通常指数据访问层(dao),是用来操作数据库的 2.持久层的规范 ①…...
JVM——垃圾回收器(G1,JDK9默认为G1垃圾回收器)
1.G1垃圾回收器 JDK9之后默认的垃圾回收器是G1(Garbage First)垃圾回收器。 Parallel Scavenge关注吞吐量,允许用户设置最大暂停时间 ,但是会减少年轻代可用空间的大小。 CMS关注暂停时间,但是吞吐量方面会下降。 而G1…...
多模态——使用stable-video-diffusion将图片生成视频
多模态——使用stable-video-diffusion将图片生成视频 0. 内容简介1. 运行环境2. 模型下载3. 代码梳理3.1 修改yaml文件中的svd路径3.2 修改DeepFloyDataFiltering的vit路径3.3 修改open_clip的clip路径3.4 代码总体结构 4. 资源消耗5. 效果预览 0. 内容简介 近期,…...
springboot(ssm网络相册 在线相册管理系统Java(codeLW)
springboot(ssm网络相册 在线相册管理系统Java(code&LW) 开发语言:Java 框架:ssm/springboot vue JDK版本:JDK1.8(或11) 服务器:tomcat 数据库:mysql 5.7(或8.0)…...
邮箱发送短信的多种方式
第一种:邮箱验证方法: 导入依赖: <!-- mail依赖(发送短信的依赖) --><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId> &l…...
R语言——taxize(第五部分)
taxize(第五部分) 3. taxize 文档中译3.71. nbn_synonyms(从 NBN 返回具有给定 id 的分类群名称的所有同义词)3.72. ncbi_children(在 NCBI 中搜索类群的子类群)3.73. ncbi_downstream(检索 NCB…...
负载均衡lvs
简介 ipvsadm 是 Linux 内核中的 IP 虚拟服务器(IPVS)管理工具。IPVS是 Linux 内核提供的一种负载均衡解决方案,它允许将入站的网络流量分发到多个后端服务器,以实现负载均衡和高可用性。IPVS通过在内核中维护一个虚拟服务器表&a…...
【腾讯云云上实验室】探索向量数据库背后的安全监控机制
当今数字化时代,数据安全成为了企业和个人最为关注的重要议题之一。随着数据规模的不断增长和数据应用的广泛普及,如何保护数据的安全性和隐私性成为了迫切的需求。 今天,我将带领大家一起探索腾讯云云上实验室所推出的向量数据库,…...
阅读笔记——《Removing RLHF Protections in GPT-4 via Fine-Tuning》
【参考文献】Zhan Q, Fang R, Bindu R, et al. Removing RLHF Protections in GPT-4 via Fine-Tuning[J]. arXiv preprint arXiv:2311.05553, 2023.【注】本文仅为作者个人学习笔记,如有冒犯,请联系作者删除。 目录 摘要 一、介绍 二、背景 三、方法…...
electron实现截图的功能
Electron是一种跨平台的桌面应用程序开发框架,可以使用HTML、CSS和JavaScript等Web技术构建桌面应用程序。下面是一种使用Electron实现截图的简单方法: 安装Electron和截图库 首先,需要安装Electron和一个截图库,例如electron-sc…...
11、动态数码管显示
数码管驱动方式 1、单片机直接扫描:硬件设备简单,但会消耗大量的单片机CPU时间 2、专用驱动芯片:内部自带显存、扫描电路,单片机只需告诉他显示什么即可 #include <REGX52.H> //数组代表显示亮灯的内容0、1、2、3、4、5、…...
Linux的基本指令(三)
目录 前言 echo指令(简述) Linux的设计理念 输出重定向操作符 > 追加输出重定向操作符 >> 输入重定向操作符 < 补充知识 学前补充 more指令 less指令 head指令 tail指令 查看文件中间的内容 利用输出重定向实现 利用管道“ |…...
使用python 实现华为设备的SFTP文件传输
实验目的: 公司有一台CE12800的设备,管理地址位172.16.1.2,现在需要编写自动化脚本,通过SFTP实现简单的上传下载操作。 实验拓扑: 实验步骤: 步骤1:将本地电脑和ensp的设备进行桥接ÿ…...
高防cdn防护原理是什么,是否可以防护服务器吗
随着互联网业务的迅速发展,网络安全问题日益凸显。在这样的背景下,高防CDN作为一种有效的网络安全解决方案,受到了越来越多的关注。那么高防CDN的防护原理是什么呢?接下来就跟小德一起深入了解下吧! 1. 高防CDN的基本概念 我们要明确什么是…...
SELinux零知识学习三十五、SELinux策略语言之角色和用户(6)
接前一篇文章:SELinux零知识学习三十四、SELinux策略语言之角色和用户(5) 三、SELinux策略语言之角色和用户 SELinux提供了一种依赖于类型强制(类型增强,TE)的基于角色的访问控制(Role-Based Access Control),角色用于组域类型和限制域类型与用户之间的关系,SELinux…...
初学Flink 学后总结
最近开始学习Flink,一边学习一边记录,以下是基于【尚硅谷】Flink1.13实战教程总结的笔记,方便后面温习 目录 初始 Flink 一:基础概念 1.Flink是什么 2.Flink主要应用场景...
CSS新手入门笔记整理:CSS基本介绍
CSS,指的是“Cascading Style Sheet(层叠样式表)”,用于控制网页外观。 CSS引入方式 外部样式表 独立建立一个.CSS文件,在HTML中使用 link标签 来引用CSS文件。link标签放置在head标签内部。 语法 <link rel&qu…...
vLLM-v0.17.1步骤详解:支持LoRA热切换的动态模型服务配置
vLLM-v0.17.1步骤详解:支持LoRA热切换的动态模型服务配置 1. vLLM框架简介 vLLM是一个专为大型语言模型(LLM)设计的高性能推理和服务库,以其出色的吞吐量和易用性著称。这个项目最初由加州大学伯克利分校的天空计算实验室开发,现在已经发展…...
Dunst未来发展方向:探索轻量级通知守护进程的创新路线图
Dunst未来发展方向:探索轻量级通知守护进程的创新路线图 【免费下载链接】dunst Lightweight and customizable notification daemon 项目地址: https://gitcode.com/gh_mirrors/du/dunst Dunst作为一款轻量级且高度可定制的通知守护进程,始终致力…...
3分钟掌握RePKG:Wallpaper Engine资源提取与转换全攻略
3分钟掌握RePKG:Wallpaper Engine资源提取与转换全攻略 【免费下载链接】repkg Wallpaper engine PKG extractor/TEX to image converter 项目地址: https://gitcode.com/gh_mirrors/re/repkg RePKG是一款专为Wallpaper Engine设计的强大资源提取工具&#x…...
C++新手避坑指南:从‘恶魔轮盘赌‘代码看常见编程误区
C新手避坑指南:从"恶魔轮盘赌"代码看常见编程误区 当你第一次尝试用C复刻一个像"恶魔轮盘赌"这样的小游戏时,很容易陷入一些典型的编程陷阱。让我们通过分析这个游戏的实现代码,来揭示那些C初学者常犯的错误,…...
FFmpeg drawtext滤镜进阶:除了时间水印,你还能用它玩出什么花样?(动态文本+多位置叠加)
FFmpeg drawtext滤镜进阶:动态文本与多位置水印的创意实践 在视频处理领域,水印不仅是版权保护的标配工具,更是内容创作者展示品牌个性的画布。传统的时间戳水印早已无法满足专业用户的需求——想象一下,在直播流中实时显示股票行…...
【MicroPython】基于ESP32的REPL交互式在线仿真开发环境实战
1. 为什么你需要ESP32的MicroPython REPL环境 第一次接触MicroPython的开发者经常会问:为什么不用传统的C语言开发ESP32?这里有个很现实的痛点——当你需要快速验证一个硬件功能时,C语言那套编译、烧录、调试的流程实在太重了。我去年给团队…...
Phi-3-mini-4k-instruct-gguf从零开始:7860端口Web服务完整部署步骤
Phi-3-mini-4k-instruct-gguf从零开始:7860端口Web服务完整部署步骤 1. 模型介绍 Phi-3-mini-4k-instruct-gguf是微软Phi-3系列中的轻量级文本生成模型GGUF版本。这个模型特别适合处理问答、文本改写、摘要整理和简短创作等任务。相比完整版模型,这个轻…...
UDOP-large保姆级教程:手把手教你提取英文论文标题与摘要
UDOP-large保姆级教程:手把手教你提取英文论文标题与摘要 1. 引言:为什么选择UDOP-large处理英文论文 作为一名经常需要阅读大量英文文献的研究人员,我深知从PDF论文中提取标题和摘要的繁琐。传统方法要么需要手动复制粘贴,要么…...
with open方法详解
Python with open 方法详解 with open 是 Python 中操作文件最推荐、最安全的写法,核心作用是自动管理文件资源,不用手动关闭文件,也能避免文件泄露、数据丢失等问题。 一、基础语法 python 运行 # 标准格式 with open(文件路径, 模式, 编码) as 变量名:# 缩进内写文件操…...
Tubular部署与配置教程:从源码编译到F-Droid发布的完整流程
Tubular部署与配置教程:从源码编译到F-Droid发布的完整流程 【免费下载链接】Tubular A fork of NewPipe that implements SponsorBlock and ReturnYouTubeDislike. 项目地址: https://gitcode.com/gh_mirrors/tu/Tubular Tubular是一款基于NewPipe开发的增强…...
