有如下程序段: main(int argc char *argv[]) { int n i=0; w
有如下程序段: 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 l23<回车> 则运行结果为【 】。
请帮忙给出正确答案和分析,谢谢!
参考解答
正确答案:6
本题中命令行输入2个符号串,所以argc=2,argv[0指向符号串'exam',argv[1指向符号串'123',while循环的作用是计算argv[1所指向的字符串的长度,执行完while循环后n=3,所以n*argc=3×2=6。
相似问题
以下程序中给指针p分配3个double型动态内存单元 请填空。 include<stdllb. h>
以下程序中给指针p分配3个double型动态内存单元,请填空。 include<stdllb h> main() { double * p; p=(double*)malloc(【 】); p[0]=1 5;
已知字母A的ASCII码为65 以下程序运行后的输出结果是【 】。 main() { char a
已知字母A的ASCII码为65,以下程序运行后的输出结果是【 】。 main() { char a, b; a=A+5-3; b=a+6-2; printf( "% d % c n ", a, b); }请帮忙给出正确答案和分析,谢谢!
下列执行后输出的结果是【 】。 main() { intarr[10] i k=0 for(i=0;
下列执行后输出的结果是【 】。 main() { intarr[10],i,k=0 for(i=0;i<10;i++)atr[i]=i for(i=1,i<4;i++) k+=arr[i]+i; printf( "%d n ",k); }请帮忙给出正确答案和分析,谢谢!
函数fun的功能是计算xn: double fun(double x int n) { int i
函数fun的功能是计算xn: double fun(double x, int n) { int i; double y=1; for(i; =1; i<=n; i++)y=y*x; return y; } 主函数中已
下面rotate函数的功能:将n行n列的矩阵A转置为A 请填空。 define N 4 void r
下面rotate函数的功能:将n行n列的矩阵A转置为A,请填空。 define N 4 void rotate(int a[][N]) { int i, j, t; for{i=0; i<N; j++} for
