
#include
main()
{
hehe()
int i,s;
printf("please input i\n");
scanf("%d",i);
s=i+y;
getch();
}
int hehe(int y)
{
y=y+y;
}
我是刚学C语言的,希望各位专家赐教,谢谢啦
/*
调用函数有2种方式:
(1)直接调用 如:s=hehe(i); 变量=函数名(参数);如无返回值就把变量=去掉
(2)间接调用:用指针函数,指针函数的定义格式
类型(*指针名)(函数的参数类型);这个类型跟你要调用的函数的返回值是一察宴样的
参数类型也跟你要调用的函数的参数类型一样,里面只写类型就行
如你定义了一个函数 int hehe(int i);
那么我可以这样调用它:
int(*p)(int ),s,i;
p=hehe; //指向这个函数
scanf("%d",&i);
s=(*p)(i);
大概就是这样吧,不明白给我留言
*/
#include
int main()
{
int hehe(int ); //函数声明应该写明它的返回值和参数类型
int i,s,(*p)()=hehe; //函数指针p指向函数hehe
printf("please input i\n");
scanf("%d",&i); //燃友少了个取地址败段银符号
s=hehe(i); //直接调用
printf("(1)hehe(%d)=%d\n",i,s);
s=(*p)(i); //用指针函数来调用
printf("(2)hehe(%d)=%d\n",i,s);
getch();
return 0;
}
int hehe(int y)
{
return (y=y+y);
}
int hehe(int y)
{
y=y+y;
}
这个函数有输入值和返回值,所以函数应该改为
int hehe(int y)
{
y=y+y;
return y;
}
在主函数中被调用时应该先猛喊给一个输入埋洞,
是 想在s=i+y;这里被调用吧?,首先主函数中应该先定义y;这弯知枯句改为
s=i+hehe( y);
不要按照basic的方法写C语言戚漏函数
scanf的用法不对,不知道你程序的汪旁目高陵烂的,建议函数里面写上return y;
虽然这样对于C语言也将就,不过结果依赖编译器
#include
int hehe(int y);
main()
{
int i;
printf("please input i\n");
scanf("%d",&i);
printf("%d\n",hehe(i));
getch();
}
int hehe(int y)
{
y=y+y;
return y;
}
#include<庆模stdio.h>
main()
{
int hehe(int y);
int i,s;
printf("please input i\誉塌缓n");
scanf("%d"衫颤,&i);
s=hehe(i);
printf("%d",s);
getch();
}
int hehe(int y)
{
y=y+y;
return y;
}