大佬们帮我看看这个哪有问题
vb吧
全部回复
仅看楼主
level 9
Morde▫ 楼主
书上的例题,我感觉没问题啊,怎么就是运行之后啥都没有呢
2021年10月12日 09点10分 1
level 9
Morde▫ 楼主
就这个例5-8
2021年10月12日 09点10分 2
level 9
Morde▫ 楼主
hxd
m来帮帮忙吧[泪]
2021年10月12日 09点10分 3
level 15
Select Case的用法错了,应该把 Case s <> i 改成 Case Is <> i,把 Case s = i 改成 Case i;而且这里也没必要用Select Case,用If多好
而且,就算改正了这里,你这代码好像跟原来的代码也不是同样的运行效果了,你应该只是想改 s = s & j & "+" 这一句吧,在这里判断后面是否需要加号,以免最后还要去掉一个加号;但是你把原来的If结构也给改了,原来是块If(Then后面啥都没有),你改成单行If了(把 s = s + j 这句写到Then后面去了)
2021年10月12日 11点10分 4
感谢大佬,分析的都对!我想问一下这个块if和单行if效果还不一样吗?按理说不是都可以用的吗?
2021年10月13日 02点10分
level 15
关于If的单行形式和块形式的区别:
例题中的代码是块If,sum = sum + j 和 s = s & j & "+" 这两句都是在满足 i Mod j = 0 这个条件时才执行的
如果改成了单行If形式,比如:
If i Mod j = 0 Then sum = sum + j
s = s & j & "+"
这时,只有 sum = sum + j 这一句是在满足条件时才执行的语句,s = s & j & "+" 这句无论何时都会执行,效果自然就变了
2021年10月13日 02点10分 5
那我现在改回了块if为啥还是没反应啊
2021年10月13日 09点10分
level 15
不管你怎么改的了,原来例题的代码可以这样改:
s = s & j & "+" '改成 If j = 1 Then s = s & j Else s = s & "+" & j
(就是改成在每个数前面加上加号,但是1不带加号)
Left(s, Len(s) - 1) '改成 s
2021年10月13日 11点10分 6
好的 感谢老哥!
2021年10月15日 11点10分
二级过了,前来感谢老哥帮助[滑稽]
2021年11月29日 07点11分
1