明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 557|回复: 0

[提问] 关于子函数调用的问题

[复制链接]
发表于 2016-10-18 17:49:13 | 显示全部楼层 |阅读模式
想写一个判定字符串B的第几位为数字的程序
(defun c:pd(/ b)
  (setq b "AsdddsBCD51qw1")
  (setq a(pan b))
  (print a)
  )


;;----------------------第几位为数字

(defun pan(f_1 / long bi time cap asc )
(setq long(strlen f_1));long字符串长度
  (setq bi 0)            ;bi为数字位数
  (setq time 1)                ;time为循环标志
  (while(<= time long)
    (setq cap(substr f_1 time 1))        ;cap为该位字符
    (setq asc(ascii cap))                ;asc为字符的ASC码               
    (if(and(< asc 58)(> asc 47)) (setq bi time time long) )
    (setq time(+ time 1))
    )
  (setq bi bi)
  )   
返回值正确

如果主函数pd的参数(程序中的变量b)的变量名变成和子函数pan的形参名相同(如主函数pd的变量b的名字改为变量bi),返回值就是错误的,这是为什么呢。求指导
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-20 03:26 , Processed in 0.139194 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表