求vfp大神解释代码(虽然执完成了行了但有些小地方仍胡涂)比如(n=len(c)/2);(?subs(c,2*i-1,2)clearc="金字大宝塔"n=len(c)/2for i=1to nspace(70-i)for j=1 to isubs(c,2*i-1,2)=inkey (3)endforendfor

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/09 19:30:09
求vfp大神解释代码(虽然执完成了行了但有些小地方仍胡涂)比如(n=len(c)/2);(?subs(c,2*i-1,2)clearc=

求vfp大神解释代码(虽然执完成了行了但有些小地方仍胡涂)比如(n=len(c)/2);(?subs(c,2*i-1,2)clearc="金字大宝塔"n=len(c)/2for i=1to nspace(70-i)for j=1 to isubs(c,2*i-1,2)=inkey (3)endforendfor
求vfp大神解释代码(虽然执完成了行了但有些小地方仍胡涂)比如(n=len(c)/2);(?subs(c,2*i-1,2)
clear
c="金字大宝塔"
n=len(c)/2
for i=1to n
space(70-i)
for j=1 to i
subs(c,2*i-1,2)
=inkey (3)
endfor
endfor

求vfp大神解释代码(虽然执完成了行了但有些小地方仍胡涂)比如(n=len(c)/2);(?subs(c,2*i-1,2)clearc="金字大宝塔"n=len(c)/2for i=1to nspace(70-i)for j=1 to isubs(c,2*i-1,2)=inkey (3)endforendfor
clear
c="金字大宝塔"
n=len(c)/2 && 此处n=5,len(c)是表示取出c这个字符串的长度,c中5个汉字,一个汉字占两个字符,所以len(c)=10,n=len(c)/2=10/2=5
for i=1to n && 循环 i从1到5
space(70-i)
for j=1 to i && 循环 j从1到i
subs(c,2*i-1,2) && subs是取子串函数,subs(c,2*i-1,2)表示取c中,从 2*i-1开始,长度为2(也就是一个汉字)的串;
所以 当i=1时,subs(c,2*i-1,2)=subs(c,2*1-1,2)=subs(c,1,2),也就是第一个汉字金,这个金在输出前,已经输出了space(70-i)=space(69),即69个空格,此处是?所以金在69个空格后输出.
接着再循环i=2,输出68个空格,subs(c,2*i-1,2)=subs(c,2*2-1,2)=subs(c,3,2)=字,之后输出“字字”;之后i=3,输出67个空格,subs(c,2*i-1,2)=subs(c,2*3-1,2)=subs(c,5,2)=字,之后输出“大大大”;i=4,输出66个空格,subs(c,2*i-1,2)=subs(c,2*4-1,2)=subs(c,7,2)=字,之后输出“宝宝宝宝”;i=5,输出65个空格,subs(c,2*i-1,2)=subs(c,2*5-1,2)=subs(c,9,2)=字,之后输出“塔塔塔塔塔”;
=inkey (3)(这句应该是多余的吧)
endfor
endfor