我正在尝试使用代码,我已经浏览了其他帖子,但无法弄明白,你能帮助我解决我为什么会这样做:
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;
...
答案 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教程。
注意:您还必须进行上述答案中提到的更改。