0

我正在尝试用 C 编写一个链表。我正在使用以下代码:

#include <stdio.h>

typedef struct _node *nodep;
typedef struct _node {
    int value;
    nodep next;
} node;

int main(){
    printf("Hello World!");
    node* list = 0;
    return 0;
}

我在行中收到编译器错误 C2275 和 C2065

    node* list = 0;

当我删除printf或移动之前的违规行时,代码会编译printf

4

2 回答 2

7

Visual Studio 不支持 C99。因此,您不能将声明和语句与此环境混合。而是写:

/* ... */

int main(void) {
    node *list = 0; /* declaration */
    printf("Hello World!\n"); /* statement */
    return 0;
}

这是符合 C89 的。

于 2013-07-20T18:29:28.867 回答
0

进行以下更改

node *list =NULL;
printf("\n Hello World ");
于 2013-07-20T18:31:27.400 回答