那是我的代码.
#include <stdio.h>
#include <stdlib.h>
int main ( int argc, char *argv[] )
{
int i, pid;
for(i = 0; i < atoi(argv[1]); i++) {
pid = fork();
if(pid < 0) {
printf("Error");
exit(1);
} else if (pid == 0) {
printf("Child (%d): %d\n", i + 1, getpid());
exit(0);
} else {
wait(NULL);
}
}
}
Run Code Online (Sandbox Code Playgroud)
输出就是这样.
Child (1): 5676
Child (2): 4624
Child (3): 4800
Child (4): 5596
Child (5): 5580
Run Code Online (Sandbox Code Playgroud)
然而,这不是我作业中的预期输出.它应该是那样的.代码有什么问题?有人能帮我吗?
Child (2): 4625
Child (1): 4624
Child …Run Code Online (Sandbox Code Playgroud) var calls = [];
for (var y = 1; y <= 10; y++) {
for (var x = 1; x <= 10; x++) {
calls.push(function() {
yooMe(x, y);
});
}
}
for (var i in calls) {
calls[i]();
}
var yooMe = function(x, y) {
console.log(x + ':' + y);
}
Run Code Online (Sandbox Code Playgroud)
我想将一些函数(x,y作为参数)推入带循环的数组中.之后,我将循环数组以调用该函数.但是,结果并不是我的考虑因素.结果是10:10 10:10 ... 10:10.我期待的是1:1 2:1 3:1 ...... 10:10.我认为问题是可变参考问题,但我不知道如何解决这个问题.PS抱歉我的英语不好