下面两段代码的输出结果分别可能是什么?请简述原因。 int a =...
发布于 2022-03-03 17:30:27
下面两段代码的输出结果分别可能是什么?请简述原因。
int a = 0 void func(int* i) { for (int i = 0 i < 1000000 i++) a = *i free(i) } int main() { pthread_t t[3] for (int i = 0 i < 3 i++) { int* b = (int*)malloc(sizeof(int)) *b = i pthread_create(&t[i], NULL, (void*)&func, (void*)b) } for (int i = 0 i < 3 i++) { pthread_join(t[i], NULL) } printf("%d\n", a) return 0 }
int a = 0 void func(int* i) { for (int i = 0 i < 1000000 i++) a = *i free(i) } int main() { for (int i = 0 i < 3 i++) { int* b = (int*)malloc(sizeof(int)) *b = i fork() func(b) } printf("%d\n", a) return 0 }
关注者
0
被浏览
43