| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 481 人关注过本帖
标题:这个程序竟有固定输出值,为什么?
取消只看楼主 加入收藏
yqiong
Rank: 1
等 级:新手上路
帖 子:315
专家分:0
注 册:2007-7-4
结帖率:83.33%
收藏
 问题点数:0 回复次数:4 
这个程序竟有固定输出值,为什么?

这程序竟然对了,答案是:1:2,2
2:3,4
3:4,6

这个程序主函数中i,j没有赋值,而它的类型是auto,默认值是不确定的啊,因此&i,&j没指向确切的内存空间,在传参时它把什么传给形参了呀?

#include<stdio.h>
void(int *m,int *n)
{ int i=0;
static j=0;
*m=++i,*n=++j;
}
void main()
{ int i,j,k;
for(k=1;k<4;++k)
{f(&i,&j);
printf("%d:%d,%d\n",k,k+i,k+j);
}
}

搜索更多相关主题的帖子: 输出 
2007-07-30 23:54
yqiong
Rank: 1
等 级:新手上路
帖 子:315
专家分:0
注 册:2007-7-4
收藏
得分:0 

能者多劳,帮帮忙吧!急呢

2007-07-31 00:09
yqiong
Rank: 1
等 级:新手上路
帖 子:315
专家分:0
注 册:2007-7-4
收藏
得分:0 
以下是引用zklhp在2007-7-31 1:00:25的发言:


i,j是任意值 但不代表 &i,&j 是任意的 你想想 要是地址是任意的 你赋的值到哪里去?

其实就是

main:
push ebp
mov ebp,esp
sub esp,0ch
…………
lea eax,[ebp+8h]
push eax
lea eax,[ebp+4h]
push eax
call …………

我汇编烂 大概就这意思 呵呵


郁闷,没学过汇编呢,能不能用通俗点的语言啊,看不懂呢,呵呵

2007-07-31 18:36
yqiong
Rank: 1
等 级:新手上路
帖 子:315
专家分:0
注 册:2007-7-4
收藏
得分:0 

请各位高手帮帮忙,用通俗的语言解释一下,先谢谢了!

2007-08-01 22:21
yqiong
Rank: 1
等 级:新手上路
帖 子:315
专家分:0
注 册:2007-7-4
收藏
得分:0 

谢谢,懂了!

2007-08-02 00:17
快速回复:这个程序竟有固定输出值,为什么?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015803 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved