【问题标题】:How to use spaces in a "variable name"?如何在“变量名”中使用空格?
【发布时间】:2014-09-08 23:08:03
【问题描述】:

我有一个非常简单的问题,但我刚开始学习 C。如果我能得到一些帮助,我将不胜感激,因为我正在尝试了解语法在语言中的工作原理。

我想做的是这样的

    int Score1, Score2, "Final Score";

我得到的错误信息是这样的:

    error: expected identifier or '(' before string constant

【问题讨论】:

  • "Final Score" 是一个值(类型:字符串或字符*),而不是变量名。引号 (") 就像赋值一样。就像6 一样,它作为变量名也是无效的。
  • “我想做的是这样的事情”并不是对您要分配给"Final Score" 条目的含义的有意义的解释。它在那里做什么?预期的效果应该是什么?
  • 调用变量Final_Score 是否无法满足您的需求?

标签: c string variables


【解决方案1】:

通常(在 C 中也是如此),变量名必须是有效的标识符1 并且不能包含空格或引号。

考虑将变量命名为 finalScorefinal_score


1 标识符的语法在The C Programming Language (K&R), A.2.3 标识符中简洁地给出:

标识符是由字母 [a-z、A-Z、_] 和数字 [0-9] 组成的序列。第一个字符必须是字母;下划线 _ 算作字母..

【讨论】:

    【解决方案2】:

    如果你想定义一个名称包含空白字符的变量,你不能这样做。

    您应该尝试删除变量名为 final_score 的引号。

    【讨论】:

      【解决方案3】:

      你的意思是:

      int score1, score2, final_score;

      【讨论】:

        【解决方案4】:

        C 中的变量名可以包含字母、数字和下划线 (_) 的任意组合。 变量名中不允许有任何其他特殊字符。

        删除双引号并使用 final_score 或 finalScore 将起作用。

        另外请注意,如果变量名以数字开头,则它不能合法,尽管它可以以下划线开头

        【讨论】:

          【解决方案5】:

          C 和许多其他编程语言一样,不允许在变量名中使用任何空格和其他一些特殊字符。但是,您可以这样说:finalScore 或 final_score

          【讨论】:

          • 这在其他答案中已经提到了。
          猜你喜欢
          • 1970-01-01
          • 2023-04-03
          • 1970-01-01
          • 2012-07-13
          • 2017-06-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-10-14
          相关资源
          最近更新 更多