请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
#include <iostream>
/ i5 X' i6 U8 s6 X6 x8 x: t6 @using namespace std;+ ] [6 _$ z) A% X9 v$ M2 v* a, j* c( A
struct student
1 ~2 }$ s5 p( g9 P/ |{' r+ g0 p; l% J: N! p. [
char name[20];- [0 d4 k! P- \% ]& t
int age;
) }% v5 k4 H$ r. Q9 A}; int main( )
% ~" x% }% b/ k* X{
1 J) L1 w4 t. W7 ~' X student s;
7 }9 L& ^2 w4 f s.name="gyy"; //error
, l5 H% L7 {+ U+ e6 S$ S return 0;9 v& _7 C$ Y) M# m4 }& l7 h& K
}
4 f3 t$ V7 T+ ?+ R5 H 道理和以下语句错误的原因一样,数组名表示常量,不允许对常量赋值,所以常量不允许出现在“=”的左边,当做左值出现。所以不能直接用字符串赋值给数组名。但请注意:可以在定义字符数组的同时用字符串给字符数组赋初值。 char name[20]="gyy"; //ok 但先定义,再赋值的方式就是错误的。 char name[20];
; ^. }# h0 j( ^) }; W: X ` name="gyy"; //error 对开始的程序修改方式(1) #include <iostream>
1 w$ T; z- E" C4 rusing namespace std;1 F3 `( P3 o# n6 u- Y- D
struct student
' I& e1 W; u) l' Q{% z8 D: H( m2 R; x! u# r# i
string name;# L7 z9 p+ t% @7 u
int age;) b& b4 r) v9 v& C, ?& s
}; int main( )
4 Q, T/ |. T6 C1 v# c: m{
8 u" M* B, S: m4 W- C& o) W$ y3 D student s;& p. m( q( Y2 ~+ S6 Z
s.name="gyy"; //ok
, H- c2 Q. D1 @# p+ ^ return 0;
1 X l* _2 Y: f" g. \% o! L9 S} 对开始的程序修改方式(2) #include <iostream>! ~! ]8 O+ y0 C' {5 _
using namespace std;% N5 P+ H/ r. ~% j
struct student
) ?0 z" c1 g0 O8 m# [{
" A( x* l( h& k2 r4 C6 D char name[20];
, ]8 ?& m, l; B0 k9 L# G- o/ d int age;
. E9 b5 w" E5 g1 K+ r% N}; int main( )" [+ _( \( s, s
{
# ]: @) y; X6 o4 N4 _ student s;
9 {0 @6 d: T4 o& M$ N% g- k strcpy(s.name,"gyy"); //ok
' ^6 W: {/ R% U4 B$ e3 O# A return 0;$ y4 ?2 p) R, S9 w. {" U; O5 q1 f
} + M7 }! w- A/ W) J: c/ L- S
|