c语言 lex编译器,使用Lex和Yacc开发C语言的编译器

本文详细解析了C语言中的表达式和声明规则,包括从primary_expression到translation_unit的完整语法结构。涵盖了标识符、常量、运算符、类型转换、函数调用、数组和指针操作等方面,深入理解这些概念对于C语言编程至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0818b9ca8b590ca3270a3433284dd417.png

0

$

accept : translation_unit

$

end

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

1

primary_expression : IDENTIFIER

0818b9ca8b590ca3270a3433284dd417.png

2

| CONSTANT

0818b9ca8b590ca3270a3433284dd417.png

3

| STRING_LITERAL

0818b9ca8b590ca3270a3433284dd417.png

4

| '

(

' expression '

)

'

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

5

postfix_expression : primary_expression

0818b9ca8b590ca3270a3433284dd417.png

6

| postfix_expression '[' expression ']'

0818b9ca8b590ca3270a3433284dd417.png

7

| postfix_expression '

(

' '

)

'

0818b9ca8b590ca3270a3433284dd417.png

8

| postfix_expression '

(

' argument_expression_list '

)

'

0818b9ca8b590ca3270a3433284dd417.png

9

| postfix_expression '

.

' IDENTIFIER

0818b9ca8b590ca3270a3433284dd417.png

10

| postfix_expression PTR_OP IDENTIFIER

0818b9ca8b590ca3270a3433284dd417.png

11

| postfix_expression INC_OP

0818b9ca8b590ca3270a3433284dd417.png

12

| postfix_expression DEC_OP

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

13

argument_expression_list : assignment_expression

0818b9ca8b590ca3270a3433284dd417.png

14

| argument_expression_list '

,

' assignment_expression

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

15

unary_expression : postfix_expression

0818b9ca8b590ca3270a3433284dd417.png

16

| INC_OP unary_expression

0818b9ca8b590ca3270a3433284dd417.png

17

| DEC_OP unary_expression

0818b9ca8b590ca3270a3433284dd417.png

18

| unary_operator cast_expression

0818b9ca8b590ca3270a3433284dd417.png

19

| SIZEOF unary_expression

0818b9ca8b590ca3270a3433284dd417.png

20

| SIZEOF '

(

' type_name '

)

'

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

21

unary_operator : '&'

0818b9ca8b590ca3270a3433284dd417.png

22

| '*'

0818b9ca8b590ca3270a3433284dd417.png

23

| '

+

'

0818b9ca8b590ca3270a3433284dd417.png

24

| '-'

0818b9ca8b590ca3270a3433284dd417.png

25

| '~'

0818b9ca8b590ca3270a3433284dd417.png

26

| '!'

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

27

cast_expression : unary_expression

0818b9ca8b590ca3270a3433284dd417.png

28

| '

(

' type_name '

)

' cast_expression

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

29

multiplicative_expression : cast_expression

0818b9ca8b590ca3270a3433284dd417.png

30

| multiplicative_expression '*' cast_expression

0818b9ca8b590ca3270a3433284dd417.png

31

| multiplicative_expression '

/

' cast_expression

0818b9ca8b590ca3270a3433284dd417.png

32

| multiplicative_expression '%' cast_expression

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

33

additive_expression : multiplicative_expression

0818b9ca8b590ca3270a3433284dd417.png

34

| additive_expression '

+

' multiplicative_expression

0818b9ca8b590ca3270a3433284dd417.png

35

| additive_expression '-' multiplicative_expression

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

36

shift_expression : additive_expression

0818b9ca8b590ca3270a3433284dd417.png

37

| shift_expression LEFT_OP additive_expression

0818b9ca8b590ca3270a3433284dd417.png

38

| shift_expression RIGHT_OP additive_expression

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

39

relational_expression : shift_expression

0818b9ca8b590ca3270a3433284dd417.png

40

| relational_expression '

<

' shift_expression

0818b9ca8b590ca3270a3433284dd417.png

41

| relational_expression '

>

' shift_expression

0818b9ca8b590ca3270a3433284dd417.png

42

| relational_expression LE_OP shift_expression

0818b9ca8b590ca3270a3433284dd417.png

43

| relational_expression GE_OP shift_expression

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

44

equality_expression : relational_expression

0818b9ca8b590ca3270a3433284dd417.png

45

| equality_expression EQ_OP relational_expression

0818b9ca8b590ca3270a3433284dd417.png

46

| equality_expression NE_OP relational_expression

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

47

and_expression : equality_expression

0818b9ca8b590ca3270a3433284dd417.png

48

| and_expression '&' equality_expression

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

49

exclusive_or_expression : and_expression

0818b9ca8b590ca3270a3433284dd417.png

50

| exclusive_or_expression '^' and_expression

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

51

inclusive_or_expression : exclusive_or_expression

0818b9ca8b590ca3270a3433284dd417.png

52

| inclusive_or_expression '|' exclusive_or_expression

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

53

logical_and_expression : inclusive_or_expression

0818b9ca8b590ca3270a3433284dd417.png

54

| logical_and_expression AND_OP inclusive_or_expression

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

55

logical_or_expression : logical_and_expression

0818b9ca8b590ca3270a3433284dd417.png

56

| logical_or_expression OR_OP logical_and_expression

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

57

conditional_expression : logical_or_expression

0818b9ca8b590ca3270a3433284dd417.png

58

| logical_or_expression '?' expression ':' conditional_expression

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

59

assignment_expression : conditional_expression

0818b9ca8b590ca3270a3433284dd417.png

60

| unary_expression assignment_operator assignment_expression

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

61

assignment_operator : '

=

'

0818b9ca8b590ca3270a3433284dd417.png

62

| MUL_ASSIGN

0818b9ca8b590ca3270a3433284dd417.png

63

| DIV_ASSIGN

0818b9ca8b590ca3270a3433284dd417.png

64

| MOD_ASSIGN

0818b9ca8b590ca3270a3433284dd417.png

65

| ADD_ASSIGN

0818b9ca8b590ca3270a3433284dd417.png

66

| SUB_ASSIGN

0818b9ca8b590ca3270a3433284dd417.png

67

| LEFT_ASSIGN

0818b9ca8b590ca3270a3433284dd417.png

68

| RIGHT_ASSIGN

0818b9ca8b590ca3270a3433284dd417.png

69

| AND_ASSIGN

0818b9ca8b590ca3270a3433284dd417.png

70

| XOR_ASSIGN

0818b9ca8b590ca3270a3433284dd417.png

71

| OR_ASSIGN

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

72

expression : assignment_expression

0818b9ca8b590ca3270a3433284dd417.png

73

| expression '

,

' assignment_expression

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

74

constant_expression : conditional_expression

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

75

declaration : declaration_specifiers '

;

'

0818b9ca8b590ca3270a3433284dd417.png

76

| declaration_specifiers init_declarator_list '

;

'

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

77

declaration_specifiers : storage_class_specifier

0818b9ca8b590ca3270a3433284dd417.png

78

| storage_class_specifier declaration_specifiers

0818b9ca8b590ca3270a3433284dd417.png

79

| type_specifier

0818b9ca8b590ca3270a3433284dd417.png

80

| type_specifier declaration_specifiers

0818b9ca8b590ca3270a3433284dd417.png

81

| type_qualifier

0818b9ca8b590ca3270a3433284dd417.png

82

| type_qualifier declaration_specifiers

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

83

init_declarator_list : init_declarator

0818b9ca8b590ca3270a3433284dd417.png

84

| init_declarator_list '

,

' init_declarator

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

85

init_declarator : declarator

0818b9ca8b590ca3270a3433284dd417.png

86

| declarator '

=

' initializer

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

87

storage_class_specifier : TYPEDEF

0818b9ca8b590ca3270a3433284dd417.png

88

| EXTERN

0818b9ca8b590ca3270a3433284dd417.png

89

| STATIC

0818b9ca8b590ca3270a3433284dd417.png

90

| AUTO

0818b9ca8b590ca3270a3433284dd417.png

91

| REGISTER

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

92

type_specifier : VOID

0818b9ca8b590ca3270a3433284dd417.png

93

| CHAR

0818b9ca8b590ca3270a3433284dd417.png

94

| SHORT

0818b9ca8b590ca3270a3433284dd417.png

95

| INT

0818b9ca8b590ca3270a3433284dd417.png

96

| LONG

0818b9ca8b590ca3270a3433284dd417.png

97

| FLOAT

0818b9ca8b590ca3270a3433284dd417.png

98

| DOUBLE

0818b9ca8b590ca3270a3433284dd417.png

99

| SIGNED

0818b9ca8b590ca3270a3433284dd417.png

100

| UNSIGNED

0818b9ca8b590ca3270a3433284dd417.png

101

| struct_or_union_specifier

0818b9ca8b590ca3270a3433284dd417.png

102

| enum_specifier

0818b9ca8b590ca3270a3433284dd417.png

103

| TYPE_NAME

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

104

struct_or_union_specifier : struct_or_union IDENTIFIER '{' struct_declaration_list '}'

0818b9ca8b590ca3270a3433284dd417.png

105

| struct_or_union '{' struct_declaration_list '}'

0818b9ca8b590ca3270a3433284dd417.png

106

| struct_or_union IDENTIFIER

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

107

struct_or_union : STRUCT

0818b9ca8b590ca3270a3433284dd417.png

108

| UNION

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

109

struct_declaration_list : struct_declaration

0818b9ca8b590ca3270a3433284dd417.png

110

| struct_declaration_list struct_declaration

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

111

struct_declaration : specifier_qualifier_list struct_declarator_list '

;

'

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

112

specifier_qualifier_list : type_specifier specifier_qualifier_list

0818b9ca8b590ca3270a3433284dd417.png

113

| type_specifier

0818b9ca8b590ca3270a3433284dd417.png

114

| type_qualifier specifier_qualifier_list

0818b9ca8b590ca3270a3433284dd417.png

115

| type_qualifier

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

116

struct_declarator_list : struct_declarator

0818b9ca8b590ca3270a3433284dd417.png

117

| struct_declarator_list '

,

' struct_declarator

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

118

struct_declarator : declarator

0818b9ca8b590ca3270a3433284dd417.png

119

| ':' constant_expression

0818b9ca8b590ca3270a3433284dd417.png

120

| declarator ':' constant_expression

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

121

enum_specifier : ENUM '{' enumerator_list '}'

0818b9ca8b590ca3270a3433284dd417.png

122

| ENUM IDENTIFIER '{' enumerator_list '}'

0818b9ca8b590ca3270a3433284dd417.png

123

| ENUM IDENTIFIER

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

124

enumerator_list : enumerator

0818b9ca8b590ca3270a3433284dd417.png

125

| enumerator_list '

,

' enumerator

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

126

enumerator : IDENTIFIER

0818b9ca8b590ca3270a3433284dd417.png

127

| IDENTIFIER '

=

' constant_expression

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

128

type_qualifier : CONST

0818b9ca8b590ca3270a3433284dd417.png

129

| VOLATILE

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

130

declarator : pointer direct_declarator

0818b9ca8b590ca3270a3433284dd417.png

131

| direct_declarator

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

132

direct_declarator : IDENTIFIER

0818b9ca8b590ca3270a3433284dd417.png

133

| '

(

' declarator '

)

'

0818b9ca8b590ca3270a3433284dd417.png

134

| direct_declarator '[' constant_expression ']'

0818b9ca8b590ca3270a3433284dd417.png

135

| direct_declarator '[' ']'

0818b9ca8b590ca3270a3433284dd417.png

136

| direct_declarator '

(

' parameter_type_list '

)

'

0818b9ca8b590ca3270a3433284dd417.png

137

| direct_declarator '

(

' identifier_list '

)

'

0818b9ca8b590ca3270a3433284dd417.png

138

| direct_declarator '

(

' '

)

'

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

139

pointer : '*'

0818b9ca8b590ca3270a3433284dd417.png

140

| '*' type_qualifier_list

0818b9ca8b590ca3270a3433284dd417.png

141

| '*' pointer

0818b9ca8b590ca3270a3433284dd417.png

142

| '*' type_qualifier_list pointer

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

143

type_qualifier_list : type_qualifier

0818b9ca8b590ca3270a3433284dd417.png

144

| type_qualifier_list type_qualifier

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

145

parameter_type_list : parameter_list

0818b9ca8b590ca3270a3433284dd417.png

146

| parameter_list '

,

' ELLIPSIS

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

147

parameter_list : parameter_declaration

0818b9ca8b590ca3270a3433284dd417.png

148

| parameter_list '

,

' parameter_declaration

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

149

parameter_declaration : declaration_specifiers declarator

0818b9ca8b590ca3270a3433284dd417.png

150

| declaration_specifiers abstract_declarator

0818b9ca8b590ca3270a3433284dd417.png

151

| declaration_specifiers

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

152

identifier_list : IDENTIFIER

0818b9ca8b590ca3270a3433284dd417.png

153

| identifier_list '

,

' IDENTIFIER

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

154

type_name : specifier_qualifier_list

0818b9ca8b590ca3270a3433284dd417.png

155

| specifier_qualifier_list abstract_declarator

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

156

abstract_declarator : pointer

0818b9ca8b590ca3270a3433284dd417.png

157

| direct_abstract_declarator

0818b9ca8b590ca3270a3433284dd417.png

158

| pointer direct_abstract_declarator

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

159

direct_abstract_declarator : '

(

' abstract_declarator '

)

'

0818b9ca8b590ca3270a3433284dd417.png

160

| '[' ']'

0818b9ca8b590ca3270a3433284dd417.png

161

| '[' constant_expression ']'

0818b9ca8b590ca3270a3433284dd417.png

162

| direct_abstract_declarator '[' ']'

0818b9ca8b590ca3270a3433284dd417.png

163

| direct_abstract_declarator '[' constant_expression ']'

0818b9ca8b590ca3270a3433284dd417.png

164

| '

(

' '

)

'

0818b9ca8b590ca3270a3433284dd417.png

165

| '

(

' parameter_type_list '

)

'

0818b9ca8b590ca3270a3433284dd417.png

166

| direct_abstract_declarator '

(

' '

)

'

0818b9ca8b590ca3270a3433284dd417.png

167

| direct_abstract_declarator '

(

' parameter_type_list '

)

'

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

168

initializer : assignment_expression

0818b9ca8b590ca3270a3433284dd417.png

169

| '{' initializer_list '}'

0818b9ca8b590ca3270a3433284dd417.png

170

| '{' initializer_list '

,

' '}'

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

171

initializer_list : initializer

0818b9ca8b590ca3270a3433284dd417.png

172

| initializer_list '

,

' initializer

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

173

statement : labeled_statement

0818b9ca8b590ca3270a3433284dd417.png

174

| compound_statement

0818b9ca8b590ca3270a3433284dd417.png

175

| expression_statement

0818b9ca8b590ca3270a3433284dd417.png

176

| selection_statement

0818b9ca8b590ca3270a3433284dd417.png

177

| iteration_statement

0818b9ca8b590ca3270a3433284dd417.png

178

| jump_statement

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

179

labeled_statement : IDENTIFIER ':' statement

0818b9ca8b590ca3270a3433284dd417.png

180

| CASE constant_expression ':' statement

0818b9ca8b590ca3270a3433284dd417.png

181

| DEFAULT ':' statement

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

182

compound_statement : '{' '}'

0818b9ca8b590ca3270a3433284dd417.png

183

| '{' statement_list '}'

0818b9ca8b590ca3270a3433284dd417.png

184

| '{' declaration_list '}'

0818b9ca8b590ca3270a3433284dd417.png

185

| '{' declaration_list statement_list '}'

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

186

declaration_list : declaration

0818b9ca8b590ca3270a3433284dd417.png

187

| declaration_list declaration

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

188

statement_list : statement

0818b9ca8b590ca3270a3433284dd417.png

189

| statement_list statement

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

190

expression_statement : '

;

'

0818b9ca8b590ca3270a3433284dd417.png

191

| expression '

;

'

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

192

selection_statement :

IF

'

(

' expression '

)

' statement

0818b9ca8b590ca3270a3433284dd417.png

193

|

IF

'

(

' expression '

)

' statement

ELSE

statement

0818b9ca8b590ca3270a3433284dd417.png

194

| SWITCH '

(

' expression '

)

' statement

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

195

iteration_statement : WHILE '

(

' expression '

)

' statement

0818b9ca8b590ca3270a3433284dd417.png

196

|

DO

statement WHILE '

(

' expression '

)

' '

;

'

0818b9ca8b590ca3270a3433284dd417.png

197

|

FOR

'

(

' expression_statement expression_statement '

)

' statement

0818b9ca8b590ca3270a3433284dd417.png

198

|

FOR

'

(

' expression_statement expression_statement expression '

)

' statement

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

199

jump_statement :

GOTO

IDENTIFIER '

;

'

0818b9ca8b590ca3270a3433284dd417.png

200

| CONTINUE '

;

'

0818b9ca8b590ca3270a3433284dd417.png

201

|

BREAK

'

;

'

0818b9ca8b590ca3270a3433284dd417.png

202

|

RETURN

'

;

'

0818b9ca8b590ca3270a3433284dd417.png

203

|

RETURN

expression '

;

'

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

204

translation_unit : external_declaration

0818b9ca8b590ca3270a3433284dd417.png

205

| translation_unit external_declaration

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

206

external_declaration : function_definition

0818b9ca8b590ca3270a3433284dd417.png

207

| declaration

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

208

function_definition : declaration_specifiers declarator declaration_list compound_statement

0818b9ca8b590ca3270a3433284dd417.png

209

| declaration_specifiers declarator compound_statement

0818b9ca8b590ca3270a3433284dd417.png

210

| declarator declaration_list compound_statement

0818b9ca8b590ca3270a3433284dd417.png

211

| declarator compound_statement

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值