【发布时间】:2020-10-12 00:22:24
【问题描述】:
我无法在函数之外更改变量值。
下面这段代码会报错
#include <stdio.h>
#include <string.h>
struct student{
unsigned int age:3;
};
struct student student1;
student1.age=8;/*this line*/
int main( ) {
student1.age = 4;
printf( "student1.age : %d\n", student1.age );
student1.age = 7;
printf( "student1.age : %d\n", student1.age );
student1.age=5;
printf( "student1.age : %d\n", student1.age );
return 0;
}
这不会引发错误
#include <stdio.h>
#include <string.h>
struct student{
unsigned int age:3;
};
struct student student1;
/*student1.age=8;this line*/
int main( ) {
student1.age = 4;
printf( "student1.age : %d\n", student1.age );
student1.age = 7;
printf( "student1.age : %d\n", student1.age );
student1.age=5;
printf( "student1.age : %d\n", student1.age );
return 0;
}
请解释原因。此外,在函数之外,它不允许我在定义全局变量后更改它的值。
【问题讨论】:
标签: c initialization variable-assignment