C语言中函数被多次调用,如何正确得将每次求的的值复制出来,求高手。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中函数被多次调用,如何正确得将每次求的的值复制出来,求高手。相关的知识,希望对你有一定的参考价值。
for(i=0;i<M;i++)
if(ctest[i]!=1) // 这个是限制条件,可以忽略
Rechange(c[i]); // 调用函数void Rechange(int num[4]),是希望对每个c[i][4]进行处理
for(j=0;j<32;j++)
cc[i][j]=nnum[j]; //这个是函数中参数的赋值,实际运行的时候总是复制了刚开始那一个。不知道为什么
也把函数粘上吧
void Rechange(int num[4])
int test[4][8];
for(j=0;j<4;j++)
i=0;
while(num[j]!=0)
test[j][i]=num[j]%2;
num[j]/=2;
i++;
for(k=i;k<8;k++)
test[j][k]=0;
for(j=0;j<8;j++)
nnum[j]=test[0][7-j];
for(j=0;j<8;j++)
nnum[j+8]=test[1][7-j];
for(j=0;j<8;j++)
nnum[j+16]=test[2][7-j];
for(j=0;j<8;j++)
nnum[j+24]=test[3][7-j];
其中函数中有一个nnum[32]的数组,程序的想法是每一个i,都能产生想对应的cc[i][32]
。但是实际运行的时候不理想,希望高手能够给出一个合理的方法!
abs()
是用来求整型表达式的绝对值,比如:abs(x)
就是求整型变量x的绝对值。
fabs()
是用来求浮点型表达式的绝对值,比如:abs(x)
就是求浮点型变量(float型或double型)x的绝对值。 参考技术B 这一段没有看懂,你每一次调用后,就把test的各个数值给赋值为0,不知是否和这个有关。
for(k=i;k<8;k++)
test[j][k]=0; 参考技术C 你直接说你想实现的目标吧,程序设计思路好像复杂了点
ActionScript 3 - 作为单击处理程序的匿名函数在每次单击时被多次调用
【中文标题】ActionScript 3 - 作为单击处理程序的匿名函数在每次单击时被多次调用【英文标题】:ActionScript 3 - anonymous function as click handler is called multiple times per click 【发布时间】:2011-03-30 14:42:30 【问题描述】:我有一个标记为“blueButton”的按钮,我想使用匿名函数来处理点击,如下所示:
blueButton.addEventListener(MouseEvent.CLICK, function(event:MouseEvent):void
trace( "-----click detected-----" );
// now do other stuff
);
问题是,每次点击都会多次调用点击处理程序。调用的次数似乎是随机的(有时 2,有时 4,有时 3 等)。我的代码中是否遗漏了某些内容,或者我设置的按钮有误?
我还注意到它似乎总是在第一次点击时被调用一次。在第一次点击之后,它开始被调用更多次,也许这与它有关?
提前感谢您的帮助
【问题讨论】:
【参考方案1】:从哪里调用 blueButton.addEventListener? 该行可能被多次调用,然后可能会添加多个侦听器,特别是如果它是在某些视图状态 onShow 代码之后添加的。 尝试在 blueButton.addEventListener 上方添加 trace("---- 添加事件侦听器 ----" ) 并确保仅显示一次。
另外,您是否尝试过只在其中包含 trace() 语句的代码?那还是有问题吗? 您可以通过删除事件侦听器中的所有其他代码来拆分差异。 “其他东西”可能会触发代码运行以再次添加按钮事件侦听器。
【讨论】:
【参考方案2】:我会尝试做两件事来解决这个问题:
1) 确保设置 blueButton.mouseChildren = false。在某些鼠标事件中,如果指定的 DisplayObject 内部有其他 DisplayObject 子级,flash 将为每个子级调度鼠标事件。
2) 不要使用匿名函数,因为当您偶尔使用它们时,Flash 的行为会有些奇怪。我以前遇到过和你一样的问题,一旦我停止使用匿名函数,问题就消失了。
【讨论】:
【参考方案3】:你也可以试试
event.stopImmediatePropagation;
【讨论】:
以上是关于C语言中函数被多次调用,如何正确得将每次求的的值复制出来,求高手。的主要内容,如果未能解决你的问题,请参考以下文章