C语言学习——指针精华(3)工程项目复习

C语言学习——指针精华(3)工程项目复习编程题一、定义一个数组,从键盘输入10个整数,将10个数字中的最大值和最小值进行位置交换 (使用指针的方式)。代码如下:#include”pch.h”#include<stdio.h>void SWAP(int*p1, int*p2);int main(){ int a[10]; for (int i = 0; i < 10; i++) { scanf_…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

编程题

一、定义一个数组,从键盘输入10个整数,将10个数字中的最大值和最小值进行位置交换 (使用指针的方式)。

代码如下:

#include"pch.h"
#include<stdio.h>
void SWAP(int*p1, int*p2);

int main()
{ 
   
	int a[10];
	for (int i = 0; i < 10; i++)
	{ 
   
		scanf_s("%d", &a[i]);
	}
	int*min = &a[0];
	int*max = &a[0];
	for (int i = 0; i < 10; i++)
	{ 
   
		if (a[i]>*max)
		{ 
   
			max = &a[i];
		}
		if (a[i]<*min)
		{ 
   
			min = &a[i];
		}
	}
	printf("%d %d\n", *min, *max);
	printf("交换前地址%p,%p\n", min, max);
	SWAP(min,max);
	return 0;
}

void SWAP(int*p1,int*p2)
{ 
   
	int*temp;
	temp = p2;
	p2 = p1;
	p1 = temp;
	printf("%d %d\n", *p1, *p2);
	printf("交换后地址%p,%p\n",p1, p2);
}

结果如下:
在这里插入图片描述

二、有如下一段字符串” ajskldjfklajdfl ”,自定义一个函数统计出其中j字符在该字符串中所出现的次数。(使用指针的方式实现)

代码如下:

在这里插入图片描述
结果如下:
在这里插入图片描述

简答题:

1.请说明数组指针和指针数组的区别:

数组指针是一个指针变量,它占有内存中一个指针的存储空间。指针数组是多个指针变量,以数组形式存在内存当中,占有多个指针的存储空间,是存放指针的数组。

2.请说明函数指针与指针函数的区别:

指针函数是指带指针的函数,即本质是一个函数。函数返回类型是某一类型的指针
函数指针是指向函数的指针变量,即本质是一个指针变量。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/170988.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月18日 上午8:36
下一篇 2022年8月18日 上午8:36


相关推荐

  • Fisher线性判别分析

    Fisher线性判别分析一 问题描述在 UCI 数据集上的 Iris 和 Sonar 数据上验证算法的有效性 Iris 数据 3 类 4 维 150 个数据 Sonar 数据 2 类 60 维 208 个样本 训练和测试样本有三种方式进行划分 三选一 1 将数据随机分训练和测试 多次平均求结果 2 K 折交叉验证 3 留 1 法针对不同维数 画出曲线图二 解决方法 1 F

    2026年2月23日
    1
  • 【树莓派】树莓派4B新手篇:安装官网Raspbian Buster系统及基础配置

    【树莓派】树莓派4B新手篇:安装官网Raspbian Buster系统及基础配置目录1、前言2、树莓派4B有什么特色?3、树莓派新手准备4、烧录RaspbianBuster系统到MicroSD卡开启SSH及配置无线连接5、启动安装树莓派系统启动树莓派6、树莓派的基本配置6.1系统配置6.2更改apt软件源与系统源6.3更改pip源6.4安装远程桌面6.5安装中文字体1、前言对于很多程序员而言,树莓派如今…

    2022年6月12日
    78
  • pycharm中html自动补全,Pycharm 如何设置HTML文件自动补全代码或标签

    pycharm中html自动补全,Pycharm 如何设置HTML文件自动补全代码或标签Pycharm 如何设置 HTML 文件自动补全代码或标签在使用 Pycharm 编写 Django 模板时 要用到一些特殊的格式 比如 if 等等 如果不设置 Pycharm 只能一个符号一个符号的输入 现在教大家如何设置自动补全这些东西 1 首先 打开 Pycharm 的 Files gt Settings gt Editor gt LiveTemplate 点击最右边的添加按钮

    2026年3月27日
    1
  • linux启动nginx命令_linuxzip解压命令

    linux启动nginx命令_linuxzip解压命令1,首先找到nginx的安装目录whichnginx会找到对应的目录,如图2,查看进程是否存在ps-ef|grepnginx3,杀死进程kill-QUIT1282强制停止kill-912824,进入到nginx的sbin目录,启动nginxcd/usr/local/nginx/sbin/./nginx./nginx-sstop./nginx-squit./nginx-sreload4,但是上面这个..

    2022年10月6日
    4
  • stringtokenizer是什么意思_string copy

    stringtokenizer是什么意思_string copyStringTokenizer可以将一个字符串分解为一个一个的单词或者标记。常用方法如下:methodcontentintcountTokens()返回nextToken方法被调用的次数。booleanhasMoreTokens()返回是否还有分隔符。booleanhasMoreElements()返回是否还有分隔符。StringnextTo…

    2026年1月27日
    3
  • 进程之间的通信方式「建议收藏」

    进程之间的通信方式「建议收藏」进程间通信方式一般有以下几种:1、管道,匿名管道,命名管道2、信号3、信号量4、消息队列5、共享内存6、socket管道管道数据只能单向流动,所以如果要实现双向通信,就要创建2个管道管道分为匿名管道和命名管道匿名管道只能在父子进程关系之间使用命名管道,可以在不关联的两个进程之间使用,因为它创建了一个类型为管道的设备文件,使用这个设备文件就可以通信。管道只能承载无格式的字节流信号信号是进程之间唯一的异步通信机制,信号的主要来源主要有硬件来源(入键盘操作ctrl+C)

    2022年10月11日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号