free pascal 程序运行时跳过某段(普通的for循环语句),完全没有运行,不知道为何,求各位帮帮忙.

fori:=1tolength(s2)dobeginiflength(s1[1])+length(s2[i])=187thenbegindelete(s1,1,1);en... for i:=1 to length(s2) do
begin
if length(s1[1])+length(s2[i])=187 then
begin
delete(s1,1,1);
end;
end;
就是跳过了这段.
编译无错误.
展开
 我来答
splashchaos
推荐于2016-05-06 · TA获得超过1.1万个赞
知道大有可为答主
回答量:3342
采纳率:0%
帮助的人:3676万
展开全部

起码也该告诉大家,s1和s2是什么吧?

看你的代码,貌似s1、s2都是字符串? 那么s2的长度多少? 最有嫌疑的是这句:

if length(s1[1])+length(s2[i])=187 then

s1[1]是s1的第1个字符;s2[i]则是s2的第i的字符,length(字符)是什么意思?它们都是=1,永远也不会=187。。。

百度网友35da19a
2014-12-12
知道答主
回答量:13
采纳率:0%
帮助的人:10.8万
展开全部
考虑下s2的长度是否不大于1
追问
谢谢!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gcbjoy
2014-12-12 · TA获得超过1.1万个赞
知道大有可为答主
回答量:1.1万
采纳率:92%
帮助的人:2178万
展开全部
串s2是空串 !!!
追问
谢谢!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式