标题:恳请各位高手指点.....
只看楼主
shangrila21
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-6-25
 问题点数:0 回复次数:2 
恳请各位高手指点.....
建立动态数组,输入5个学生的成绩,另外用一个函数检查其中有无低于60分的,输出不合格的成绩。

#include <stdio.h>
#include <stdlib.h>             /*程序中用了malloc函数,应包含stdlib.h */               
void main ()
{void check (int *);            /*函数声明*/
 int *p1,i;                     /*p1是int型指针*/
 void *p2;                      /*p2是void型指针*/
 p2=malloc(5*sizeof(int));      /*开辟动态自由内存区,将起始地址存放在p2中*/
 p1=(int *)p2;                  /*将地址转换成int型的指针*/
 for(i=0;i<5;i++)
   scanf("%d",p1+i);             /*输入5个学生的成绩*/
 check(p1);                     /*调用check函数*/
 free(p2);                      /*释放所占用的自由动态去*/
}

void check(int *p)              /*定义check函数,形参是int型指针*/
{int i;
printf("They are fail:");
for(i=0;i<5;i++)
 if(p[i]<60) printf("%d",p[i]); /*输入不合格的成绩*/
  printf("\n");
}
第17行“if(p[i]<60) printf("%d",p[i]);”中的p[i]不是地址吗?怎样可以和60比较的?怎么不用*p[i]呢?
搜索更多相关主题的帖子: int 内存 void 指针 
2008-06-27 00:05
mqh21364
Rank: 1
等 级:新手上路
帖 子:642
专家分:0
注 册:2008-2-28
得分:0 
a[b] = *(a+b)

就这个了。

前不见古人,后不见来者。念天地之悠悠,独怆然而涕下。
2008-06-27 09:41
zzc0816
Rank: 1
等 级:新手上路
帖 子:61
专家分:7
注 册:2006-9-14
得分:0 
C语言最不好学的就是指针啦.其次是数组.
我认为LZ应该把这两块在加强下哦!

2008-06-27 09:46



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-221496-1-1.html




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

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