热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

C语言指针返回指针值的函数

返回指针值的函数,一般定义形式为:类型名*函数名(参数列表)int*a(intx,inty)a为函数名,调用它

返回指针值的函数,一般定义形式为:

类型名 * 函数名(参数列表) int *a(int x,int y)

a为函数名,调用它以后能得到一个指向整型数据的指针(地址)
() 优先级高于 * ,所以a先与()结合。前边还有个 *,表示此函数是指针型函数(函数值是指针)

例题10-24 有若干个学生的成绩(每个学生有4门课),要求在用户输入学生序号以后,能输出该学生的全部成绩。用指针函数实现。

//例题10-24 有若干个学生的成绩(每个学生有4门课),要求在用户输入学生序号以后,能输出该学生的全部成绩。用指针函数实现。 #include
int main()
{float score[][4]&#61;{{60,70,80,90},{56,89,67,88},{34,78,90,66}};float *search(float (*pointer)[4],int n); //函数声明 float *p;int i,m;printf("ente the number of student:");scanf("%d",&m); //m是要查找的学生序号 printf("The scores of No.%d are:\n",m);p&#61;search(score,m);for(i&#61;0;i<4;i&#43;&#43;)printf("%5.2f\t",*(p&#43;i));// *(p&#43;i)&#xff1a;该学生第i门课程的成绩 printf("\n");return 0;
}
float *search(float (*pointer)[4],int n)
//pointer是指向包含4个元素的一维数组的指针变量
//pointer&#43;1 指向socre数组序号为1的行
// *(pointer&#43;1) 指向1行0列元素。加上*后&#xff0c;指针 行控制-->列控制
{float *pt;pt&#61;*(pointer&#43;n);return pt;
}

输入&#xff1a;1
结果如图&#xff1a;
在这里插入图片描述

例题10-25 对上例中的学生&#xff0c;找出其中不及格课程的学生及其学生号

//例题10-25 对上例中的学生&#xff0c;找出其中不及格课程的学生及其学生号#includefloat *search(float (*pointer)[4])//pointer是指针变量&#xff0c;指向一维数组&#xff08;有4个元素&#xff09;
{int i;float *pt; //pt&#xff1a;区分有无不及格课程的标志 pt&#61;*(pointer&#43;1);//即把pt指向本行末尾&#xff0c;若无不及格的&#xff0c;pt指向不变 for(i&#61;0;i<4;i&#43;&#43;)if(*(*pointer&#43;i)<60)pt&#61;*pointer;//若有不及格的&#xff0c;使pt指向本行0列元素 return pt;
} int main()
{float *p,score[][4]&#61;{{60,70,80,90},{56,89,67,88},{34,78,90,66}};int i,j;for(i&#61;0;i<3;i&#43;&#43;){p&#61;search(score&#43;i); //score&#43;i :是score第i行的首地址 if(p&#61;&#61;*(score&#43;i))// *(score&#43;i)&#xff1a;第i行第0列元素 {printf("No.%d scores:",i);for(j&#61;0;j<4;j&#43;&#43;)printf("%5.2f ",*(p&#43;j));printf("\n");}} return 0;
}

运行结果&#xff1a;
在这里插入图片描述


推荐阅读
  • c语言\n不换行,c语言printf不换行
    本文目录一览:1、C语言不换行输入2、c语言的 ... [详细]
  • 本文介绍了P1651题目的描述和要求,以及计算能搭建的塔的最大高度的方法。通过动态规划和状压技术,将问题转化为求解差值的问题,并定义了相应的状态。最终得出了计算最大高度的解法。 ... [详细]
  • C语言判断正整数能否被整除的程序
    本文介绍了使用C语言编写的判断正整数能否被整除的程序,包括输入一个三位正整数,判断是否能被3整除且至少包含数字3的方法。同时还介绍了使用qsort函数进行快速排序的算法。 ... [详细]
  • 《2017年3月全国计算机等级考试二级C语言上机题库完全版》由会员分享,可在线阅读,更多相关《2017年3月全国计算机等级考试二级C语言上机题库完全版( ... [详细]
  • 本文为Codeforces 1294A题目的解析,主要讨论了Collecting Coins整除+不整除问题。文章详细介绍了题目的背景和要求,并给出了解题思路和代码实现。同时提供了在线测评地址和相关参考链接。 ... [详细]
  • 如何自行分析定位SAP BSP错误
    The“BSPtag”Imentionedintheblogtitlemeansforexamplethetagchtmlb:configCelleratorbelowwhichi ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • 动态规划算法的基本步骤及最长递增子序列问题详解
    本文详细介绍了动态规划算法的基本步骤,包括划分阶段、选择状态、决策和状态转移方程,并以最长递增子序列问题为例进行了详细解析。动态规划算法的有效性依赖于问题本身所具有的最优子结构性质和子问题重叠性质。通过将子问题的解保存在一个表中,在以后尽可能多地利用这些子问题的解,从而提高算法的效率。 ... [详细]
  • 本文介绍了UVALive6575题目Odd and Even Zeroes的解法,使用了数位dp和找规律的方法。阶乘的定义和性质被介绍,并给出了一些例子。其中,部分阶乘的尾零个数为奇数,部分为偶数。 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • Linux环境变量函数getenv、putenv、setenv和unsetenv详解
    本文详细解释了Linux中的环境变量函数getenv、putenv、setenv和unsetenv的用法和功能。通过使用这些函数,可以获取、设置和删除环境变量的值。同时给出了相应的函数原型、参数说明和返回值。通过示例代码演示了如何使用getenv函数获取环境变量的值,并打印出来。 ... [详细]
  • C++中的三角函数计算及其应用
    本文介绍了C++中的三角函数的计算方法和应用,包括计算余弦、正弦、正切值以及反三角函数求对应的弧度制角度的示例代码。代码中使用了C++的数学库和命名空间,通过赋值和输出语句实现了三角函数的计算和结果显示。通过学习本文,读者可以了解到C++中三角函数的基本用法和应用场景。 ... [详细]
  • 本文介绍了一个题目的解法,通过二分答案来解决问题,但困难在于如何进行检查。文章提供了一种逃逸方式,通过移动最慢的宿管来锁门时跑到更居中的位置,从而使所有合格的寝室都居中。文章还提到可以分开判断两边的情况,并使用前缀和的方式来求出在任意时刻能够到达宿管即将锁门的寝室的人数。最后,文章提到可以改成O(n)的直接枚举来解决问题。 ... [详细]
  • 3.223.28周学习总结中的贪心作业收获及困惑
    本文是对3.223.28周学习总结中的贪心作业进行总结,作者在解题过程中参考了他人的代码,但前提是要先理解题目并有解题思路。作者分享了自己在贪心作业中的收获,同时提到了一道让他困惑的题目,即input details部分引发的疑惑。 ... [详细]
  • 实现一个通讯录系统,可添加、删除、修改、查找、显示、清空、排序通讯录信息
    本文介绍了如何实现一个通讯录系统,该系统可以实现添加、删除、修改、查找、显示、清空、排序通讯录信息的功能。通过定义结构体LINK和PEOPLE来存储通讯录信息,使用相关函数来实现各项功能。详细介绍了每个功能的实现方法。 ... [详细]
author-avatar
人民总动员
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有