2

我正在使用代码块来学习 C 编程。

当我使用/* */该程序时有效,但是当我使用//该程序时返回此错误。

expected identifier or ‘(’ before ‘/’ token|

这是main.c

#include <stdio.h>
#include <stdlib.h>

//Ex1

int i;
float p;
char *n;

int main(void)
{
    i = 22;
    p = 70.0;
    n = "Samuel";

    printf("%s %d %.2f", n, i, p);

    return 0;
}
4

3 回答 3

5

来自维基:

C++ 风格的行注释以 // 开头并延伸到行尾。这种注释风格起源于 BCPL,并在 C99 中成为有效的 C 语法;它在原始 K&R C 和 ANSI C 中均不可用:

于 2013-02-14T11:58:18.630 回答
5

如果您使用gcc编译器,则添加-std=c99编译器参数。它将启用 C99 功能,例如//评论。

如果您有-ansi选项,则将其删除。

于 2013-02-14T13:33:20.443 回答
4

C 语言有四个主要版本:

  • ISO 9899:2011。目前的标准,称为C11。允许 //.
  • ISO 9899:1999。一个过时的标准,称为 C99。允许 //.
  • ISO 9899:1990。过时的标准,称为 C90,有时称为 C89。不允许 //。
  • 预标准化。被称为“K&R C”。不允许 //。

确保使用支持相关标准的现代编译器。今天,您应该要求 C 编译器至少符合 C99。

于 2013-02-14T13:26:13.507 回答