有如下程序段: main(int argc,char *argv[]) { int n,i=0; while(argv[1][i]!=’\0’) {n=fun();i++;} printf

admin2010-09-05  40

问题 有如下程序段:
   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 l23<回车>
   则运行结果为【  】。

选项

答案6

解析 本题中命令行输入2个符号串,所以argc=2,argv[0]指向符号串"exam",argv[1]指向符号串"123",while循环的作用是计算argv[1]所指向的字符串的长度,执行完while循环后n=3,所以n*argc=3×2=6。
转载请注明原文地址:https://jikaoti.com/ti/9jI0FFFM
0

最新回复(0)