c函数形参如果没有名字,只有类型,在下面使用的时候,怎么使用

譬如说voidtest(int){printf(“%d”,)//如何将int形参的值输出来}... 譬如说
void test( int ){
printf(“%d”, )//如何将int形参的值输出来

}
展开
 我来答
兔子和小强
2012-07-07 · TA获得超过6946个赞
知道大有可为答主
回答量:3332
采纳率:74%
帮助的人:1435万
展开全部
定义的时候确实可以不写形参名字。
你如果学了编译原理的话可以知道函数间是如何传参的(大多语言是通过栈),
c语言是第n个参数先压栈,再压第n-1个,。。。再压第一个。最后修改栈顶指针add esp,8。
当进入函数时都是
push ebp
mov ebp,esp
所以可以这么实现
//VS2010环境
void f(int,int)
{
int a,b;
__asm //这是嵌入汇编关键字,在VC6.0嵌入汇编好像是asm
{
mov eax,[ebp+8]
mov a,eax ;第一个参数
mov eax,[ebp+12]
mov b,eax ;第二个参数
}
printf("%d\t%d\n",a,b);
}
void main()
{
f(7,3);
}
xiaot1021
2012-07-07 · TA获得超过326个赞
知道小有建树答主
回答量:274
采纳率:0%
帮助的人:235万
展开全部
只有声明的时候才可以不写形参,在函数具体定义的时候必须写形参的。如果不写就不知道形参是什么。

其实也可以知道,但是就需要用堆栈的方法来求得了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b27e54b2d
推荐于2017-11-25 · TA获得超过459个赞
知道小有建树答主
回答量:161
采纳率:66%
帮助的人:150万
展开全部
声明的时候可以只写类型,但是定义的时候肯定要写形参了啊
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zbkkbzzzsxx
2012-07-07
知道答主
回答量:40
采纳率:0%
帮助的人:9万
展开全部
xvdvxdvxdvxd
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式