| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1604 人关注过本帖, 1 人收藏
标题:关于指针,调用,数组的问题,希望大家进来指点一下小弟
只看楼主 加入收藏
why_what
Rank: 1
来 自:东莞
等 级:新手上路
帖 子:17
专家分:0
注 册:2015-12-5
结帖率:60%
收藏(1)
已结贴  问题点数:20 回复次数:6 
关于指针,调用,数组的问题,希望大家进来指点一下小弟
自定义函数实现在数组中查找特定的元素k,然后在主函数中输入数组和要查找的元素值,调用函数进行查找,在主函数中输出查找的结果


/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{  int m(int *q,int y);
   int i,n,k;
   int a[5];
   printf("请输入5个数");
   for(i=0;i<5;i++)
   { scanf("%d",&a[i]);}
   printf("请输入需查找的特定的数z");
   scanf("%d",&k);
   n=m(&a,k);
   printf("z是第%d个数",n);
   return 0;
   
}
int m(int *q,int y)
{   int *g;
    int h;
    for(*g=*q,h=1;*g<*q+5;q++,h++)
    {  if(*g==y)
       { printf("%d",h);
           break;}
    }   

    return h;
   
    }
搜索更多相关主题的帖子: include return choice 元素 
2015-12-29 18:12
newdos
Rank: 9Rank: 9Rank: 9
等 级:禁止访问
威 望:6
帖 子:251
专家分:1169
注 册:2012-8-13
收藏
得分:10 
#include <stdio.h>
void main()
{  
    int m(int *q,unsigned int,int y);
    int i,n,k;
    int a[5];
    printf("请输入5个数");
    for(i=0;i<5;i++)
    {
        scanf("%d",&a[i]);
    }
    printf("请输入需查找的特定的数z");
    scanf("%d",&k);
    n=m(a, sizeof(a)/sizeof(*a), k);
    if(n)
        printf("z是第%d个数",n);
    else
        puts("没有找到");
    return ;
}
int m(int *q, unsigned int size, int y)
{   
    unsigned int i;
    for(i = 0; i < size; i++)
        if(*(q+i) == y) return i+1;
    return 0;
}
2015-12-29 19:22
why_what
Rank: 1
来 自:东莞
等 级:新手上路
帖 子:17
专家分:0
注 册:2015-12-5
收藏
得分:0 
回复 2楼 newdos
谢谢大神解救
2015-12-29 20:22
why_what
Rank: 1
来 自:东莞
等 级:新手上路
帖 子:17
专家分:0
注 册:2015-12-5
收藏
得分:0 
回复 2楼 newdos
n=m(a, sizeof(a)/sizeof(*a), k);
请问sizeof(a)/sizeof(*a)代表什么?

int m(int *q, unsigned int size, int y)
请问unsigned int size又是什么?
本人小白,求指点
2015-12-29 20:43
未来大仙
Rank: 6Rank: 6
来 自:黑窟窿
等 级:侠之大者
威 望:4
帖 子:263
专家分:491
注 册:2015-6-20
收藏
得分:0 
函数那里是q++?

好好学习,天天向上!
2015-12-29 21:28
why_what
Rank: 1
来 自:东莞
等 级:新手上路
帖 子:17
专家分:0
注 册:2015-12-5
收藏
得分:0 
回复 5楼 未来大仙
2015-12-30 13:03
newdos
Rank: 9Rank: 9Rank: 9
等 级:禁止访问
威 望:6
帖 子:251
专家分:1169
注 册:2012-8-13
收藏
得分:3 
以下是引用why_what在2015-12-29 20:43:56的发言:

n=m(a, sizeof(a)/sizeof(*a), k);
请问sizeof(a)/sizeof(*a)代表什么?

int m(int *q, unsigned int size, int y)
请问unsigned int size又是什么?
本人小白,求指点


第一个求取数组大小, unsigned是无符号关键字。将数组大小放入函数参数,可以防止访问数组越界的低级错误。如果你的数组不是5个,改成其他大小,函数代码也不用改动,调用的地方也不用改。
2015-12-30 18:25
快速回复:关于指针,调用,数组的问题,希望大家进来指点一下小弟
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025036 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved