单选题 有以下程序
main(int argc,char *argv[])
{ int n,i=0;
while(argv[1][i]!='/0')
{ n=fun(); i++;}
printf("%d/n",n*argc);
}
int fun()
{ static int s=0;
s+=1;
return s;
}
假设程序编译、连接后生成可执行文件exam.exe,若键入以下命令
exam 123〈回车〉
则运行结果为
  • A. 6
  • B. 8
  • C. 3
  • D. 4
【正确答案】 A
【答案解析】[解析] 本题中主函数带有两个参数,DOS下执行命令examl23后,argc为2,argv[1]为“exam”,argv [2]为“123”,且变量s由static定义后,每次调用fun()函数,s保留上一次的值,所以表达式n*argc最终值为3X2=6。