C语言问题:为啥结构体成员赋值不能在主函数之前?而整形变量就可以呢?

#include "stdio.h"
struct fraction{ //结构体明
int num; //成员列表
int denom;
}fract;
int t;
t=10;
fract.num=3;
int main(void)
{
//fract.num=3;
printf("%d\n",fract.num);
t++;
printf("%d\n",t);
}

你可以给结构体初始化,在结构体完成时直接写结构体变量并初始化就可以啊,而且,你上面的整型变量那么写也不行,要么就直接定义全局变量,要么就预定义,但是像你那样再赋值是不行的。。
全局变量 int N=10;
预定义:define N 10
区别是,全局变量在函数中是可变更的,而预定义中的变量是静态的,不能变更。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-12-18
你这么写整形变量也不行啊。幅值语句必须包含在某个函数中。要是 int t=10;是可以的。
相似回答