24kchunshuai 发表于 2020-12-22 17:06:08

急急急!!!

程序段如下:
   int k=1;
   while (!k==0) { k=k+1; printf("%d\n",k); }
   则以下说法中正确的是_____C_____。                              
(A) While循环执行2次               (B) 循环是无限循环
(C) 循环体语句一次也不执行          (D) 循环体语句执行一次

jackz007 发表于 2020-12-22 17:13:13

本帖最后由 jackz007 于 2020-12-22 17:21 编辑

   正确答案是 B,while(! k == 0) 等同于 while(k != 0),k 的初始值是 1,循环条件成立,在循环中,k 的值越来大,循环条件几乎是恒成立。

风过无痕1989 发表于 2020-12-22 17:46:05

该程序是个死循环,因为 while 的条件是:!k == 0,简化表示就是 k != 0,k 本身是正数,下一语句又是在做加法,k = k + 1,这就使得 k 永远不可能等于 0

782353676 发表于 2020-12-22 20:19:57

B k永远大于零,一直执行循环命令
页: [1]
查看完整版本: 急急急!!!