首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

C语言的一个语法有关问题

2013-09-28 
C语言的一个语法问题第一个程序是正确的写法#include stdio.hstruct bar {int a, b, c}int main(){str

C语言的一个语法问题
第一个程序是正确的写法


#include <stdio.h>

struct bar {
    int a, b, c;
};

int main()
{
    struct bar bar = {1, 2, 3};
    return 0;
}


第二个程序会有语法错误,错误信息如下
expected expression before ‘{’ token

#include <stdio.h>

struct bar {
    int a, b, c;
};

int main()
{
    struct bar bar;
    bar = {1, 2, 3};
    return 0;
}


请教各位这是为什么呢?
[解决办法]
 struct bar bar = {1, 2, 3};
这个写法只支持初始化操作,不能用来作赋值操作的吧!
[解决办法]
你的 {1,2,3}
在哪里会被看做是一个复合语句 
而复合语句内部应该是语句[可选]
可你写的是一个表达式 
而且 赋值符号右边应该是表达式 被你写成语句
........
就是说 你语法根本一点都没学过 
应该写表达式的地方被你写成语句
应该写语句的地方被你写成表达式 

[解决办法]
引用:
 struct bar bar = {1, 2, 3};
这个写法只支持初始化操作,不能用来作赋值操作的吧!
支持一楼

热点排行