在数组中同时查找最大元素下标和最小元素下标,分别存放在main函数的变量max和min中。
代码如下
#include思路void find(int *a,int *max,int *min) { int i; *max=*min=0; for(i=1;i<7;i++) if(a[i]>a[*max])*max=i; else if(a[i] int a[]={5,8,7,6,2,7,3}; int max,min; find(a,&max,&min); printf("%d,%dn",max,min); }
①max和min为指针,设置了初值为0;
②if中,a[i]和a[*max]对比,原本a[i]和a[*max]都是下标对比,通过if去比较这两个元素谁大,说白了就是谁小谁就被换下去,因为这就是一个简单的替换操作,我比你大,我就把你踢走,换成我,然后继续往上走,再找比我的大
③if else考点,if-else 语句的执行流程:首先判断关键词if后括号内条件表达式的值,如果该表达式的值为逻辑真(非 0),则执行 if 体(语句 A),而不执行 else 体(语句 B),然后继续执行 if-else 之后的其他语句;
如大佬有更好的思路欢迎评论!感激不尽



