error: expected expression before '{' token|
error: expected expression before '{' token|
struct node{
int data;
struct node *next;
};
main(){
struct node a,b,c,d;
struct node *s=&a;
a={10,&b};
b={10,&c};
c={10,&d};
d={10,NULL};
do{
printf("%d %d",(*s).data,(*s).next);
s=*s.next;
}while(*s.next!=NULL);
}
它在 a={10,& b} 处显示错误;表达式语法 error.please 求助..
提前致谢
立即初始化变量:
struct node a={10,NULL};
然后分配地址:
a.next = &b;
或者使用复合文字:
a=( struct node ){10,&b}; //must be using at least C99
在定义时仅允许使用 方括号括起来的列表来初始化结构变量。使用
struct node a={10,&b};
否则,您必须使用 compound literal [在 c99
及以上]
a=(struct node){10,&b};
struct node{
int data;
struct node *next;
};
main(){
struct node a,b,c,d;
struct node *s=&a;
a={10,&b};
b={10,&c};
c={10,&d};
d={10,NULL};
do{
printf("%d %d",(*s).data,(*s).next);
s=*s.next;
}while(*s.next!=NULL);
}
它在 a={10,& b} 处显示错误;表达式语法 error.please 求助.. 提前致谢
立即初始化变量:
struct node a={10,NULL};
然后分配地址:
a.next = &b;
或者使用复合文字:
a=( struct node ){10,&b}; //must be using at least C99
在定义时仅允许使用 方括号括起来的列表来初始化结构变量。使用
struct node a={10,&b};
否则,您必须使用 compound literal [在 c99
及以上]
a=(struct node){10,&b};