再看**pp=p,pp是一个二级指针,它是指向指针的指针(本例中它指向p),其值为p的地址。*pp则是p的值,即p[0]的地址。**pp则是p[0]的元素值。
当执行**p++时,依次得到p[0]、p[1]、……的元素值。
#include<stdio.h>#define MAX 100
int fun(int x,int pp[])//声明fun函数
main()
{
int x,i,count=0//count记录个数
int pp[MAX]
printf("请输入x:")
scanf("%d",&x)
count=fun(x,pp)
for(i=0i<counti++)//输出
{
printf("%5d",pp[i])
}
printf("\n%d",count)
getch()
}
int fun(int x,int pp[])
{
int i,j
for(i=1,j=0i<MAX*2i++)//找出从1~MAX*2之间符合题意的数
{
if(i%x==0&&i%2!=0)//找出符合条件的数
{pp[j]=ij++}
}
return j//返回符合的个数
}
在c语言中#define用于定义文本替换标号,类似于C语言里面常用的宏替换。equ用于 对标号赋值,equ可放在程序中间,而#define则只能用于程序开头。
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言订定了一套完整的国际标准语法,称为ANSI C,作为C语言最初的标准。