用指针函数 输入一个数 若为偶数则求2+4+6+...+n的为奇数求1*3*...*n的积

456789qwe2022-10-04 11:39:541条回答

已提交,审核后显示!提交回复

共1条回复
这个夏天不太冷 共回答了14个问题 | 采纳率100%
#include

int fun(int *n)
{
int i,s;
if(*n%2==0)
{
s=0;
for(i=2;i<=*n;i+=2)
s+=i;
}
else
{
s=1;
for(i=1;i<=*n;i+=2)
s*=i;
}
return s;
}

int main()
{
int a;
scanf("%d",&a);
printf("%d",fun(&a));
return 0;
}//不知道硬是要指针意义何在
1年前

相关推荐

函数指针和指针函数区别以及如何应用,举例说明,要如何理解他们的概念.
lgd4141年前1
fgpatriot 共回答了18个问题 | 采纳率100%
1 函数指针变量
在C语言中,一个函数总是占用一段连续的内存区,而函数名就是该函数所占内存区的首地址.我们可以把函数的这个首地址(或称入口地址)赋予一个指针变量,使该指针变量指向该函数.然后通过指针变量就可以找到并调用这个函数.我们把这种指向函数的指针变量称为“函数指针变量”.
函数指针变量定义的一般形式为:
类型说明符 (*指针变量名)();
其中“类型说明符”表示被指函数的返回值的类型.“(* 指针变量名)”表示“*”后面的变量是定义的指针变量.最后的空括号表示指针变量所指的是一个函数.
例如:
int (*pf)();
表示pf是一个指向函数入口的指针变量,该函数的返回值(函数值)是整型.
【例】本例用来说明用指针形式实现对函数调用的方法.
int max(int a,int b){
if(a>b)return a;
else return b;
}
main(){
int max(int a,int b);
int(*pmax)();
int x,y,z;
pmax=max;
printf("input two numbers:n");
scanf("%d%d",&x,&y);
z=(*pmax)(x,y);
printf("maxmum=%d",z);
}
从上述程序可以看出用,函数指针变量形式调用函数的步骤如下:
1) 先定义函数指针变量,如后一程序中第9行 int (*pmax)();定义 pmax为函数指针变量.
2) 把被调函数的入口地址(函数名)赋予该函数指针变量,如程序中第11行 pmax=max;
3) 用函数指针变量形式调用函数,如程序第14行 z=(*pmax)(x,y);
4) 调用函数的一般形式为:
(*指针变量名) (实参表)
使用函数指针变量还应注意以下两点:
a) 函数指针变量不能进行算术运算,这是与数组指针变量不同的.数组指针变量加减一个整数可使指针移动指向后面或前面的数组元素,而函数指针的移动是毫无意义的.
b) 函数调用中"(*指针变量名)"的两边的括号不可少,其中的*不应该理解为求值运算,在此处它只是一种表示符号.
2 指针型函数
前面我们介绍过,所谓函数类型是指函数返回值的类型.在C语言中允许一个函数的返回值是一个指针(即地址),这种返回指针值的函数称为指针型函数.
定义指针型函数的一般形式为:
类型说明符 *函数名(形参表)
{
…… /*函数体*/
}
其中函数名之前加了“*”号表明这是一个指针型函数,即返回值是一个指针.类型说明符表示了返回的指针值所指向的数据类型.
如:
int *ap(int x,int y)
{
./*函数体*/
}
表示ap是一个返回指针值的指针型函数,它返回的指针指向一个整型变量.
【例】本程序是通过指针函数,输入一个1~7之间的整数,输出对应的星期名.
main(){
int i;
char *day_name(int n);
printf("input Day No:n");
scanf("%d",&i);
if(i
函数指针 和 指针函数 是同一概念吗?
函数指针 和 指针函数 是同一概念吗?
我所理解的一个概念:建立一个数组,数组包含要调用的函数名;
调用这个数组的元素,等于调用相应的函数功能;
我所理解的概念,是标题的前者还是后者?
这两个名词,是不是两个完全不同的概念?
adddone1年前1
nameless_man 共回答了15个问题 | 采纳率93.3%
函数指针是指向函数的指针变量.
因而“函数指针”本身首先应是指针变量,只不过该指针变量指向函数.这正如用指针变量可指向整型变量、字符型、数组一样,这里是指向函数.如前所述,C在编译时,每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址.有了指向函数的指针变量后,可用该指针变量调用函数,就如同用指针变量可引用其他类型变量一样,在这些概念上一致的.函数指针有两个用途:调用函数和做函数的参数.函数指针的说明方法为:
数据类型标志符 (*指针变量名)(参数);
注:函数括号中的参数可有可无,视情况而定.
指针函数是指带指针的函数,即本质是一个函数.
我们知道函数都有返回类型(如果不返回值,则为无值型),只不过指针函数返回类型是某一类型的指针.其定义格式如下所示:
返回类型标识符 *返回名称(形式参数表)
{ 函数体 }
返回类型可以是任何基本类型和复合类型.返回指针的函数的用途十分广泛.事实上,每一个函数,即使它不带有返回某种类型的指针,它本身都有一个入口地址,该地址相当于一个指针.比如函数返回一个整型值,实际上也相当于返回一个指针变量的值,不过这时的变量是函数本身而已,而整个函数相当于一个“变量”.
函数指针与指针函数有什么区别?
ll1981741年前1
休莎 共回答了22个问题 | 采纳率86.4%
函数指针是指向函数的指针,指针函数还是指一个函数的返回值是一个指针