问题

有以下程序

#include <stdio.h>

int a=1;

int f(int c)

{ static int a=2;

c=c+1;

return (a++)+c;}

main()

{ int i,k=0;

for(i=0;i<2;i++){int a=3;k+=f(a);}

k+=a;

printf( " %d\n " ,k);

}

程序运行结果是

A) 14

B) 15

C) 16

D) 17

参考答案
您可能感兴趣的试题
  • 有以下程序#include void fun(int n,int *p){ int f1,f2;if(n==1||n==2) *p=1;else{ fun(n-1,&f1); fun
  • 若程序中有宏定义行 :#define N 100 则以下叙述中正确的是A) 宏定义行中定义了标识符 N 的值为整数100B) 在编译程序对C 源程序进行预处理时用100 替换标识符NC) 对 C 源程
  • 以下关于 typedef 的叙述错误的是A) 用 typedef 可以增加新类型B)typedef 只是将已存在的类型用一个新的名字来代表C) 用 typedef 可以为各种类型说明一个新名 , 但不
  • 有以下程序#include struct tt{ int x;struct tt *y;} *p;struct tt a[4]={20,a+1,15,a+2,30,a+3,17,a}
  • 有以下程序#include #include typedef struct{ char name[9];char sex; float score[2]; } S
  • 设有以下定义union data{ int d1; float d2; }demo;则下面叙述中错误的是A) 变量 demo 与成员 d2 所占的内存字节数相同B) 变量 demo 中各成员的地址相同