test.exe 1 firestone
在这里,argc等于3,argv[0]为"test.exe",argv[1]为"1",argv[2]为"firestone"。
如果有下面的程序:
#include <stdio.h>
void main(int argc,char *argv[])
{
printf("You've input %d parameters.\n",argc-1)
for(int i=1i<argci++)printf("The No.%d is:%s\n",i,argv[i])
}
则上面的输入会产生如下运行结果:
You've input 2 parameters.
The No.1 is 1
The No.2 is firestone
你的程序中argv[i]是对应字符串的首地址,所以*argv[i]是每个字符串的第一个数字,如果我让你printf("%s", argv[1])则输出的是12,如果printf("%d",*argv[1])则输出的是1
第一个for循环表示
five 总共循环6次,依次为0,1,2,3,4,5
分别代入第二个for循环
two=0
five=0
第1次是(10-0*5)/2=5即判断0<=5[tow++],即循环6次
第2次是(10-1*5)/2=2.5即判断0<=2.5[tow++]即循环3次
第3次是(10-2*5)/2=0即判断0<=0[tow++]即循环1次
第4次是(10-3*5)/2=-5即判断0<=-5[tow++]即循环0次
第5次是0次
第6次是0次
答案累计++10次所以答案是10
var five,tow,cnt = 0
for (five=0five<=5five++){
for (var tow=0tow<=(10-five*5)/2tow++){
cnt++
}
}
console.log(cnt)
第一次convleft1234/1000+(1234%1000)*10=1+234*10=2341 可以看出向左移动看一位
第二次convright
2341%10*1000+2341/10=1*1000+234=1234可以看出向右移动了一位
第三次convright
当然就是把1234向右移动一位了,也就是4123了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)