有以下程序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 

admin2005-05-15  57

问题 有以下程序main(int argc,char *argv[]){ int n,i=0;while(argv[1]!=’\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。
转载请注明原文地址:https://kaotiyun.com/show/XYHp777K
0

最新回复(0)