有关C语言指针的经典例题

这篇具有很好参考价值的文章主要介绍了有关C语言指针的经典例题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 1.通过地址运算符&获得地址值

#include<stdio.h>
main()
{
	int a,*p1;
	p1=&a;
	*p1=123;
	printf("%d,%d\n",a,*p1);
	scanf("%d",p1);
	printf("%d,%d\n",a,*p1);
}

 c指针编程题,c语言,c++,c#

2.输入a,b,按从小到大的顺序输出

#include<stdio.h>
main()
{
	int a,b,*p=&a,*q=&b,*t;
	scanf("%d,%d",p,q);
	if(*p<*q){
		t=p;p=q;q=t;
	}
		printf("a=%d,b=%d\n",a,b);
		printf("最大值=%d,最小值=%d\n",*p,*q);
	
}

c指针编程题,c语言,c++,c#3

3.用指针法访问数组元素

#include<stdio.h>
main()
{
	int a[10],i,*p=a;
	for(i=0;i<10;i++)
	scanf("%d",p+i);
	for(i=0;i<10;i++)
	printf("%4d",*(p+i));
	printf("\n");
}

c指针编程题,c语言,c++,c#

 4.从键盘输入10个整数,放入一堆数组a中,然后将该数组中的元素值依次输出

#include<stdio.h>
main()
{
	int *p,i,a[10];
	p=&a[0];
	for(i=0;i<10;i++)
	scanf("%d",p++);
	p=&a[0];
	for(i=0;i<10;i++)
	printf("%4d",*p++);
	printf("\n");
}

c指针编程题,c语言,c++,c#

 5.将10个数的最小值换到最前面的位置

#include<stdio.h>
main()
{
	int t,a[10],*p,*q;
	for(p=a;p<=a+9;p++)
	scanf("%d",p);
	for(q=a,p=a+1;p<=a+9;p++)
	 if(*p<*q)q=p;
	 printf("最小值:%d\n",*q);
	 printf("最小值的位置:%d\n",q-a);
	 t=*a;*a=*q;*q=t;
	 printf("交换之后的10个数是:\n");
	 for(p=a;p<a+10;p++)
	 printf("%4d",*p);
	 printf("\n");
}

c指针编程题,c语言,c++,c#

6.求二维数组元素的最大值

#include<stdio.h>
main()
{
	int a[3][4]={{5,1,-8,11},{26,-7,10,129},{2,18,7,16}},*p,max;
	for(p=&a[0][0],max=*p;p<&a[0][0]+12;p++)
	if(*p>max)max=*p;
	printf("MAX=%d\n",max);
}

c指针编程题,c语言,c++,c#

 7.用指针法实现字符串的复制

#include<stdio.h>
main()
{
	char a[80],b[80];
	char *p1,*p2;
	gets(a);
	for(p1=a,p2=b;*p1!='\0';p1++,p2++)
	*p2=*p1;
	*p2='\0';
	printf("字符串a中的内容:%s\n",a);
	printf("字符串b中的内容:%s\n",b);
}

c指针编程题,c语言,c++,c#

8.将具有10个元素的整数型数组中的元素值按逆序存放后输出

#include<stdio.h>
void swap(int *x,int *y)
{
	int t;
	t=*x;
	*x=*y;
	*y=t;
}
main()
{
	int a[10],i;
	for(i=0;i<10;i++)
	scanf("%d",&a[i]);
	for(i=0;i<=4;i++)
	swap(&a[i],&a[10-i-1]);
	for(i=0;i<10;i++)
	printf("%4d",a[i]);
	printf("\n");
}

c指针编程题,c语言,c++,c#

9.用一个函数求10个学生成绩的最高分,最低分和平均成绩

#include<stdio.h>
float fun(int *x,int n,int *p1,int *p2)
{
	int i;
	float s=0;
	*p1=*p2=x[0];
	for(i=0;i<n;i++)
	{
		s=s+x[i];
		if(*p1<x[i]) *p1=x[i];
		else if(*p2>x[i])*p2=x[i];
	}
	return s/n;
}
main()
{
	int i,a[10],max,min;
	float ave;
	for(i=0;i<10;i++)
	scanf("%d",&a[i]);
	for(i=0;i<10;i++)
	printf("%4d",a[i]);
	ave=fun(a,10,&max,&min);
	printf("\n 平均值=%6.2f,最大值=%d,最小值=%d\n",ave,max,min);
}

c指针编程题,c语言,c++,c#

 10.求10个数中的最大值,通过函数返回最大值元素的地址的方法来实现

#include<stdio.h>
int *fun(int *x,int n)
{
	int i,*y;
	y=x;
	for(i=1;i<n;i++)
	if(*(x+i)>*y)y=x+i;
	return y;
}
main()
{
	int a[10],*p,i;
	for(i=0;i<10;i++)
	scanf("%d",&a[i]);
	p=fun(a,10);
	printf("最大值=%d\n",*p);
}

c指针编程题,c语言,c++,c#

 文章来源地址https://www.toymoban.com/news/detail-757846.html

到了这里,关于有关C语言指针的经典例题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C语言:指针典型例题详解

    基于对前面的深入理解指针1,2,3,4的学习,本篇文章带来指针的典型例题。俗话说:光说不练假把戏。在指针的学习过程中最重要的还是要学会动手实操。 学习本节内容之前,先复习一下涉及的相关知识,以便更好的理解。 除了博主指针专题的博文---《深入理解指针1,2,3,4》之

    2024年04月09日
    浏览(40)
  • 初始C语言(7)——详细讲解有关初阶指针的内容

     第一章 “C“浒传——初识C语言(1)(更适合初学者体质哦!)  第二章 初始C语言(2)——详细认识分支语句和循环语句以及他们的易错点   第三章 初阶C语言(3)——特别详细地介绍函数   第四章 初始C语言(4)——详细地讲解数组的内容以及易错点   第五章

    2024年02月11日
    浏览(37)
  • c语言经典例题讲解(输出菱形,喝汽水问题)

    目录 一、输出菱形 二、喝汽水问题 方法1:一步一步来   方法二:直接套公式   输出类似于下图的菱形:    通过分析:1、先分为上下两部分输出                    2.在输出前先输出空格                   3.找规律进行输出 可知,可令上半部分line行,下半部分便是

    2024年02月13日
    浏览(36)
  • C语言经典100例题(51-54)--学习使用按位与& ,按位或 |,按位异或 ^和按位取反~

    目录 题目 问题分析 按位与操作符() 按位或操作符(|) 按位异或操作符(^) 按位取反操作符(~) 代码及运行结果  学习使用按位与 ,按位或 |,按位异或 ^和按位取反~ 对两个二进制数的对应位进行与操作。如果两个位置上的位都是1,则结果为1,否则为0。 0 0 = 0; 0 1 = 0

    2024年02月09日
    浏览(44)
  • C语言天花板——指针(经典题目)

    指针我们已经学习的差不多了,今天我来给大家分享几个经典的题目,来让我们相互学习🏎️🏎️🏎️     ​       ​  图解: ​   ​     ​   ​       ​   ​    相信大家一定从今天的题目当中收获满满,希望大家有美好的一天!💓💓💓

    2024年01月17日
    浏览(55)
  • C语言经典100例题(55)--从一个整数a中把从右端开始的4-7位取出来

    目录 题目 问题分析 右移操作符 左移操作符 方法一 方法二  运行结果 用c语言从一个整数a中把从右端开始的4-7位取出来           右移操作符是一种位运算符,用于将二进制数向右移动指定的位数。它通常用符号\\\" \\\"表示。右移一位相当于将二进制数除以2,右移n位相当

    2024年02月09日
    浏览(42)
  • 5.2 构造数值积分公式的基本方法与有关概念的例题分析

      确定求积公式 中的系数,使其具有尽可能高的代数精度。 我的答案: 一、信息 1.给了我一个求积公式 2.确定求积公式中的系数 3.使得这个求积系数具有尽可能高的代数精度。 二、分析 条件1:告诉我这个求积公式具体有3个未知量 条件2:告诉我此次问题解答的目标1是确定

    2024年02月01日
    浏览(50)
  • 【编程语言 · C语言 · 函数指针】

    由于指针可以指向任何存储器位置中的地址,因此它们也可以指向可执行代码的开头。 函数指针或函数指针指向内存中函数的可执行代码。函数指针可以存储在数组中,也可以作为参数传递给其他函数。 函数指针声明使用 * 就像使用任何指针一样: (*func_name)  周围的括号很

    2024年02月10日
    浏览(57)
  • C语言经典编程题100例(61~80)

    目录 61、练习7-7 矩阵运算 62、练习7-8 方阵循环右移 63、习题6-1 分类统计字符个数 64、习题6-2 使用函数求特殊a串数列和 65、习题6-4 使用函数输出指定范围内的Fibonacci数 66、习题6-5 使用函数验证哥德巴赫猜想 67、习题6-6 使用函数输出一个整数的逆序数 68、练习8-2 计算两数的

    2024年02月02日
    浏览(40)
  • Rust编程语言入门之智能指针

    指针:一个变量在内存中包含的是一个地址(指向其它数据) Rust 中最常见的指针就是”引用“ 引用: 使用 借用它指向的值 没有其余开销 最常见的指针类型 智能指针是这样一些数据结构: 行为和指针相似 有额外的元数据和功能 通过记录所有者的数量,使一份数据被多个

    2023年04月16日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包