Ⅰ c语言指针型函数
注意sum是自动变量,返回sum的地址,这是个很危险的动作。
正确的做法是把sum定义成静态变量 或者 全局变量。
至于加不加printf结果不一样,这与自动变量在栈上的分配动作。
Ⅱ 关于c语言指针调用函数。。。。。。。。
第一行,定义一个函数指针p,该函数有两个整型形参,且返回整型数据;第二行,让函数指针p指向一个地址,该地址应该就是前面说到的那种函数的地址,需要对这个地址做强制类型转换为同类型的函数指针,才能正确赋值给p。
Ⅲ C语言指针与函数调用
#include<stdio.h>
#include<stdlib.h>
intave(intn,int*a);
intmain()
{
inti,n,*a;
printf("pleaseinputnumbern:");
scanf("%d",&n);
a=(int*)malloc(n*sizeof(int));
printf("pleaseinput%dnumbers: ",n);
for(i=0;i<n;i++)
scanf("%d",a+i);
printf("Theaveragenumberis%d ",ave(n,a));
}
intave(intn,int*a)
{
inti,sum=0;
for(i=0;i<n;i++)
sum+=*(a+i);
returnsum/n;
}
Ⅳ c语言函数与指针
先学指针再学函数为好。函数调用,若想通过参数带回函数运算结果,要用指针。函数调用,若想通过参数传入可变大小的数组,要用指针。 这时若缺乏 指针的知识,则难以学好函数的书写。当然,你可以先学简单的函数,参数不用指针的,只通过函数返回或全局量传递运算结果,只用固定大小的数组。学会后,再学指针和 用指针做参数的函数。这样,路走得慢些,但学得可能扎实些。
Ⅳ C语言用指针作函数参数
选D
因为第一个参数是地址传递,fun(&b,a);中传入a字符。*c=*c+1将c的值变为b字符。主函数的值改变。
第二个参数是值传递,所以在函数中d的值为B字符。但是并不影响主函数的值,所以主函数输出a的值是A。b的值是b。
Ⅵ C语言指针函数,求指针值
你的show函数返回的不是字符串的最后一个字符,而是字符串的结束符“\0”
所以,怎么都不对!
char *show(char c[])
{
char *p;
p=c; ////////这里没有用,for里也有p=c的
for (p=c;*p!='\0';p++);
return p-1;////////这里就对了
}
Ⅶ C语言——指向函数的指针
跟变量的指针差不多,没什么区别,变量可以做参数 ,函数也可以做参数.只要类型一样就可以传入.返回值 和 参数类型个数.函数也可以理解为一个变量来着,可以取得返回值作为函数的值.像这样就可以在另一个函数里面调用四种效果,虽然这样写也没看到什么比较方便的
Ⅷ c语言,指针,函数,字符串
如下,另一个相同的问题也是你提的吧?! 请一并选出最佳答案吧!谢谢!
*********************************************
1.
//---------------------------------------------------------------------------
#include <stdio.h>
void fun(char *a)
{
int i=0;
char *b;
while (a[i]=='*') ++i;
b=a+i;
while (*b)
*a++=*b++;
*a=0;
}
int main(void)
{
char a[]="****A*B+CD58****";
fun(a);
puts(a);
return 0;
}
//---------------------------------------------------------------------------
2.
//---------------------------------------------------------------------------
#include <stdio.h>
void fun(char *a)
{
int i=0;
char *b,*c;
while (a[i]=='*') ++i;
while (a[i])
if (a[i]=='*') {
b=a+i+1;
c=a+i;
while (*b)
*c++=*b++;
*c=0;
}
else i++;
}
int main(void)
{
char a[]="****A*B+CD58****";
fun(a);
puts(a);
return 0;
}
//---------------------------------------------------------------------------