【问题标题】:Comma at the end of True Basic if statementTrue Basic if 语句末尾的逗号
【发布时间】:2011-12-07 07:17:30
【问题描述】:

我一直致力于将用 True Basic 编写的模拟转换为 C,并最终转换为 CUDA。考虑到我从未使用过 True Basic,更不用说 Basic,一切都很顺利。我想澄清的一项是第 3 行末尾的逗号将如何影响应用程序的行为。

基本上我想知道的是: 第 4 行是否仅在 IF 语句被评估为真(即 if 语句的一部分)时执行,或者 IF 语句的评估(真或假)对于第 4 行的执行是任意的?

True Basic 代码 sn-p;

1. FOR i=1 to n
2.   FOR j=1 to anumber-1
3.     IF j = 1 or j > 4 then PRINT g(i,j),
4.     LET tg(j) = tg(j) + g(i,j)
5.   NEXT j
6. NEXT i

【问题讨论】:

    标签: basic code-translation


    【解决方案1】:

    根据我对其他 BASIC 方言的了解,print 语句末尾的逗号会抑制打印数据后的自动换行符输出。逗号影响if 语句的范围,因此第4 行的let 语句不管前面的条件如何都会执行。

    【讨论】:

    • 感谢您的迅速回复。我的印象是使用分号来抑制回车。您知道“PRINT x”与“PRINT x;”的语义是否存在差异?
    • 嗯,现在你真的是在考验我的记忆力了。既然您提到分号可能具有该功能,我不完全确定打印语句末尾的逗号有什么作用。但是,我仍然可以肯定,逗号不会影响if 语句的范围。
    • 我想我的响应对应用程序并不重要,它是 IF 语句的范围。感谢您澄清这个问题。
    猜你喜欢
    • 2012-12-16
    • 2019-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多