永发信息网

为什么这个程序中的P值没有变哦,永远都3,怎么也不变.请知道的同行给我答案,谢谢

答案:3  悬赏:20  手机版
解决时间 2021-03-10 10:17
  • 提问者网友:王者佥
  • 2021-03-09 14:06
Private Sub Form_Click()
Dim i As Integer, p As Integer, n As Integer
p = 3: n = 20
For i = 1 To n Step p
p = p + 2
n = n - 3
i = i + 2
If p >= 10 Then
Exit For
Next i
Print i, p, n
End Sub
最佳答案
  • 五星知识达人网友:第四晚心情
  • 2021-03-09 14:59
这个程序确实有错误,不过不是楼上说的那样,而是要在exit for和next i之间加一行end if。
实际上,p值是有变化的,你可以在i=i+2这一后之前插入print p,就可以看到p值实际上一直在变化。
i、p和n三个变量的值变化分别如下:
i****p****n
3****5****17
8****7****14
13***9****11
18***11***8
但是每次进行next i的时候,i的增加量就没有变,一直都是3。虽然前面声明step p,但p值在以后的变化已经没法影响到step的量。在声明step p时p的值为3,那么以后就相当于step 3了。估计楼主要说的是这个。
全部回答
  • 1楼网友:枭雄戏美人
  • 2021-03-09 15:46
vb吗?exit for是什么语句,End For吧。 next i放到for循环中。 再看看别人怎么说的。
  • 2楼网友:野慌
  • 2021-03-09 15:28
首领dy 门吏 三级(838) | 我的提问 | 我的回答 | 我的消息(0/0) | 百度首页 | 退出 新闻 网页 贴吧 知道 MP3 图片 百科 帮助 百度知道 > 教育/科学 > 学习帮助相关问题 • System Idle P...这个程序是不是系统的? • 请问电脑开始-运行这个程序都是干什么用的都有哪些符... • 帮我看看这个程序为什么出错c++队列 • 大家帮我运行一下这个程序 • 帮帮我调试这个程序(asp+sql server2000 )连接 订阅该问题 日立移动硬盘带给您双介质... 存储物质生活,存储数字世界!新春期间,凡购买指定的日立硬盘,... www.piggybankpromo.com 读中大MBA总经理培训班免... 中山大学EMBA总裁班 是广东最受欢迎的总裁进修项目.学员为立白,... www.zdmba.com.cn 经理培训 高级培训2007年4... 经理培训市场前景明朗入世以后中国缺少一批高级外贸管理人才.好... www.bjzdj.cn 沐浴经理培训基地 中国沐... 中国沐浴人才培训基地江苏扬州,基地聘请了教学有方的大学博士生... www.chinamyrcw.com 项目经理培训班 著名高校... 深圳跃驰咨询策划有限公司项目经理培训班,是以清华等著名高校的... www.21eots.com 神州巨龙项目管理培训咨询... 全国首创项目管理PMP考试保证模式(一次考不过资助2500元)!一次... www.pmcn.net 您想在自己的网站上展示百度“知道”上的问答吗?来获取免费代码吧! -------------------------------------------------------------------------------- 如要投诉或提出意见建议,请到 百度知道投诉吧反馈。 添加到搜藏待解决 为什么这个程序中的P值没有变哦,永远都3,怎么也不变.请知道的同行给我答案,谢谢 悬赏分:5 - 离问题结束还有 5 天 5 小时 Private Sub Form_Click() Dim i As Integer, p As Integer, n As Integer p = 3: n = 20 For i = 1 To n Step p p = p + 2 n = n - 3 i = i + 2 If p >= 10 Then Exit For Next i Print i, p, n End Sub 提问者:匿名 答复共 2 条 vb吗?exit for是什么语句,End For吧。 next i放到for循环中。 回答者:magicalcc - 魔法师 四级 3-16 16:14 这个程序确实有错误,不过不是楼上说的那样,而是要在exit for和next i之间加一行end if。 实际上,p值是有变化的,你可以在i=i+2这一后之前插入print p,就可以看到p值实际上一直在变化。 i、p和n三个变量的值变化分别如下: i****p****n 3****5****17 8****7****14 13***9****11 18***11***8 但是每次进行next i的时候,i的增加量就没有变,一直都是3。虽然前面声明step p,但p值在以后的变化已经没法影响到step的量。在声明step p时p的值为3,那么以后就相当于step 3了。估计楼主要说的是这个。 回答者:孤鹰14 - 经理 五级 3-16 16:32 我也来回答: 回答即可得2分,回答被采纳则获得悬赏分以及奖励20分。 积分规则 回答字数在10000字以内 参考资料: 如果您的回答是从其他地方引用,请表明出处。 匿名回答 ©2007 Baidu
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯