楼主对scan函数的描述是正确的,举个例子好理解些
scan(a,b,c)
name="Li Lei";我们要取出firstname和lastname,这两者以空格为分隔符。(也就是空格是c)
空格把name分成两部分,第1部分是"Li",第2部分是"Lei"。(1和2就是b)
用scan可以这样取,firstname=scan(name,1," ");lastname=scan(name,2," ");
上面的c字符串是单个的,也可以是多个字符串,多调试下就能理解的更明白了。
另外,因为宏变量是以字符存储的(1个空格就是1个空格,没有前后引号),但和字符型变量的值(" ")有区别,所以用%str( )。
%qscan是宏函数,%qscan和%scan类似;而%scan是scan函数在宏语言里的写法。