请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
#include <iostream>
) E1 Q2 C2 I# }2 c ^6 busing namespace std;0 W5 y0 \# ? d! p. B2 W+ o7 O
struct student7 O4 h. K7 X, W2 e4 W% ~4 l
{
. w# x8 n0 d! r& p: @* ~" h3 J char name[20];
$ g: a" w, I2 T6 F( n: J- ? int age;
1 i' x$ Q5 }( O6 a9 A5 b}; int main( )9 P1 J; f. ^: v Q* q. f
{4 h) j* v7 t& z
student s;# D% f: b4 B0 \8 `
s.name="gyy"; //error7 L- C' w R. i$ A0 e
return 0;
* a+ {4 v5 Z* h& e; s3 C7 }/ l}
6 {. `7 ~) T3 i0 m/ Z 道理和以下语句错误的原因一样,数组名表示常量,不允许对常量赋值,所以常量不允许出现在“=”的左边,当做左值出现。所以不能直接用字符串赋值给数组名。但请注意:可以在定义字符数组的同时用字符串给字符数组赋初值。 char name[20]="gyy"; //ok 但先定义,再赋值的方式就是错误的。 char name[20];2 q: T' q- O( W. M
name="gyy"; //error 对开始的程序修改方式(1) #include <iostream>
! O2 w" p- g0 H( w3 i6 R( k8 l' busing namespace std;. U% m$ Y: r% I, \
struct student
6 J" G: \' J; D. ], b+ ?4 G* M{
3 v* x) Z& ^' W8 r string name;
9 p- f% b9 ]4 t2 t int age;$ ~2 e' U. y. ]
}; int main( ). ?; s' X: p! M
{
0 k4 g( D% y" p, d6 l' ^/ I8 { student s;' u4 I) C7 ^5 `+ u* W* x7 v$ n' R0 Z
s.name="gyy"; //ok
) j; {8 a* _* n7 X. M6 e1 G return 0;. J( y' n% J+ O9 `
} 对开始的程序修改方式(2) #include <iostream>
# A. ?5 ]! ]3 Z- x nusing namespace std;
. x3 `2 C( b2 Y) g' X$ d4 ~ u+ Hstruct student
: x( H% Z6 a4 D0 T4 s, S{% L3 N6 s" \1 o; F
char name[20];' v# J) `4 H c
int age;
9 }, W" S# e) w$ a}; int main( ); W) D; d. J' O3 h4 i9 P6 Y
{6 r3 L% x6 v" y
student s;
% y+ }# m- u h |; `4 G! ]0 l. a strcpy(s.name,"gyy"); //ok
1 x) c; g" e+ c/ C. i1 c9 [. ~ return 0;
- C' j; _8 g6 a' w9 T; |% O}
) C, O" S4 v' F/ F3 ~# r, i* u- w |