错误:';'之前的预期表达式令牌字符

时间:2016-01-13 23:00:13

标签: c compiler-errors

我正在尝试使用代码,我已经浏览了其他帖子,但无法弄明白,你能帮助我解决我为什么会这样做:

error: expected expression before ';' token
    char passwd[] = PASSWORD;

=========================

#include <stdio.h>
#include <string.h>

#define SIZE 100
#define PASSWORD ********

int main()
{
    int count = 0;
    char buff[SIZE] = " ";
    char passwd[] = PASSWORD;
...

3 个答案:

答案 0 :(得分:6)

#define指令将为某个原始值定义标签。

这意味着您的代码将在编译时被解释为char passwd[]=********;

您可能需要围绕**:

的引号
#define PASSWORD "********"

答案 1 :(得分:2)

PASSWORD必须是字符串文字,在您的代码中它只是多个乘法运算符,这就是错误消息的原因。要使它成为字符串文字,请使用像这样的双引号

#define PASSWORD "********"

答案 2 :(得分:0)

_Danny_ds_和 iharob 的答案中的方法是正确的。此外,您可以使用strcpy功能将constant复制到string passwd。像这样:strcpy (passwd, PASSWORD);

您可以在strcpy上阅读this教程。

注意:您还必须进行上述答案中提到的更改。