首页 > 试题广场 >

在上下文及头文件均正常的情况下,写出下列程序所有可能的运行结

[不定项选择题]
在上下文及头文件均正常的情况下,写出下列程序所有可能的运行结果。
int a;
int b;
int c;

void F1(){
    b = a * 2;
    a = b;
}

void F2(){
    c = a + 1;
    a = c;
}

int main(){
    a = 5;
    // !!! Start F1(),F2() in parallel
    {
        F1(); 
        F2();
    }
    printf("%d\n", a);
}

  • 11
  • 6
  • 12
  • 以上都不正确
推荐
第20行 parallel 的中文解释是 “并行”,这下知道英语学得不好会有什么后果了吧.........
编辑于 2017-03-17 09:41:22 回复(22)
先F1(),后F2(),得A
先F2(),后F1(),得C
先c = a + 1,再F1(),后a = c,得B
发表于 2015-04-11 22:26:32 回复(13)
没看到这句话的举手我看:Start F1,F2 in parallel
一上来就滤过注释,错有应得,哭死。
编辑于 2016-08-17 17:05:25 回复(0)
这题出的有问题,注释也能起作用..............................
发表于 2017-10-12 11:40:11 回复(0)
R.Q头像 R.Q
本题需要注意注释  //Start F1,F2 in parallel 
F1,F2并行执行;我们可以将F1,F2中操作分为(1)b = a * 2; (2)a = b;(3)c = a + 1;(4)a = c;
在并行执行过程中,因此,可知的有:1234=>11;  3412 =>12; 3124 =>6;还可以有1324等
因此选 A,B,C
 
   
发表于 2018-02-09 11:44:46 回复(1)
 printf("a=%d\n", a);难道只有我注意到,这个打印出来应该是a=...;只写个结果真的好吗
发表于 2017-08-09 19:31:57 回复(0)

单纯看程序,答案必然是A,计算机可看不懂注释,也不会去执行注释。选C的是考数学,如果程序得到C答案,估计谁也不敢用计算机了,得出来的结果都是随机数,要想得到C结果,程序不是这么写的

发表于 2018-08-07 19:27:18 回复(0)
这道题应该不止三种结果吧
发表于 2016-09-25 23:18:20 回复(1)
又没开线程,并行个鬼,你写个注释就并行了?
发表于 2021-03-18 11:34:32 回复(1)
程序员自带属性,自动忽略注释部分
发表于 2017-09-20 15:55:17 回复(0)
第一次遇到这样给题目的
发表于 2016-08-07 21:39:15 回复(0)
真好,以后多线程的程序我写个注释程序就跑多线程了
发表于 2023-01-02 23:16:21 回复(0)
6,注释一下就并行了
发表于 2022-10-24 11:34:55 回复(0)
真的是醉了,就不能写个线程之类的吗?非要写个注释,// !!! Start F1(),F2() in parallel ,表示F1  F2同时运行
发表于 2021-11-08 14:54:06 回复(0)
要并行,就给进程线程啊,我去了.
发表于 2019-02-10 17:59:23 回复(1)
运行结果不应该显示为a=什么的形式吗?
发表于 2017-01-12 10:28:13 回复(0)
不止3个结果 那么选D有错么?
发表于 2016-10-09 10:44:32 回复(2)
终于知道题目里给出假设头文件完整是什么意思了.只能说英语不好就是硬伤
编辑于 2024-03-02 21:36:18 回复(0)
你家程序写个注释就并发了啊
发表于 2022-05-04 21:14:07 回复(0)
Start F1,F2 in parallel并行!!!
哭死……
发表于 2020-08-11 18:41:41 回复(0)
函数返回的类型是空类型,a这个实参应该不会改变吧。。我怎么觉得答案是5.。。。
发表于 2019-07-27 21:46:47 回复(2)