📜  门| GATE CS 2019 |简体中文第64章

📅  最后修改于: 2021-06-29 19:36:43             🧑  作者: Mango

考虑下面的C程序:

#include 
  
int main() { 
  int a[] = {2, 4, 6, 8, 10}; 
  int i, sum = 0, *b = a + 4; 
  
  for (i = 0; i < 5; i++ ) 
  sum = sum + (*b - i) - *(b - i); 
  
  printf("%d\n", sum); 
  return 0; 
} 

上面的C程序的输出是__________。

注意:这是数值类型的问题。
(A) 10
(B) 8
(C) 6
(D) 3答案: (A)
解释:

#include 
  
int main() { 
  int a[] = {2, 4, 6, 8, 10}; 
  int i, sum = 0, *b = a + 4; 
  
  for (i = 0; i < 5; i++ ) 
  sum = sum + (*b - i) - *(b - i); 
  
  printf("%d\n", sum); 
  return 0; 
} 

给定,“ for”循环将从i = 0到4。

i = 0
sum = 0+ 10 – 10 = 0
i = 1
sum = 0 + 9 – 8 = 1
i = 2
sum = 1 + 8 – 6 = 3
i = 3
sum = 3 + 7 – 4 = 6
i = 4
sum = 6 + 6 – 2 = 10

现在,循环终止并显示总和(即10)的值。

因此,以上C程序的输出为10
这个问题的测验