谨以此笔记记录C语言学习
代码均为原创,记录个人学习,欢迎大家交流╰(*°▽°*)╯
【问题描述】从键盘终端输入10个整数,保存在一维数组中。删除偶数后,将其输出。
【输入形式】14 23 34 54 56 77 97 13 24 25
【输出形式】23 77 97 13 25
代码展示:
#include <iostream> using namespace std; int delAndGetIndex(int a[],int n) { int k=0,*p; //定义k用于记录奇数的个数,定义整形的指针p p=a; //使指针p指向数组a的首地址 for(int i=0;i<n;i++) { if(a[i]%2!=0) //判断数组a中的奇数 { *p++=a[i]; //将数组a中的奇数保存 k++; //记录数组a中奇数的个数 } } return k; //返回k值,即数组a中奇数的个数 } int main(){ int arr[10]; int i; for(i=0;i<10;i++){ cin>>arr[i]; } int index=delAndGetIndex(arr,10);//删除数组中的偶数,并返回数组中剩余的奇数的个数 for(i=0;i<index;i++) //输出数组删除偶数后剩下的奇数 { cout<<arr[i]<<" "; } return 0; }
总结:
1、形参定义整形的数组,当实参数组arr传递给形参时,实际上传递的是数组arr的首地址
2、当数组内的内容不容易修改时,可以借助指针指向数组进行修改
3、定义完指针变量后一定要给指针变量赋初值(若不给指针变量赋初值,使用时,指针变量可能任意指向电脑中的数据的地址,若指向的是电脑中有用的系统数据,可能导致整个电脑无法使用)
标签:arr,指向,删除,int,C语言,偶数,数组,指针 From: https://blog.csdn.net/2401_88219045/article/details/144922911