请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
#include <iostream>( I; N* u( [0 \( u* B# Z
using namespace std;
+ d7 {" u" @1 u2 e- Y% v2 Rstruct student L- U8 ]- x% W: O
{: e4 s* @, W3 r2 |& _
char name[20];
8 Q+ |6 b# d/ u% o7 J6 G) n0 v, ~ int age;" B2 I' ?1 T B' Y& B
}; int main( )" \. v* ~7 S. z$ e, j: a+ Q3 L
{9 X0 X" D6 C0 c
student s;- B; {7 z3 `; ^
s.name="gyy"; //error
* w) C7 N! w/ w" p0 C3 n$ | return 0;
7 v1 I: C! I( d5 W0 ^}" x1 R- f, V& k) q
道理和以下语句错误的原因一样,数组名表示常量,不允许对常量赋值,所以常量不允许出现在“=”的左边,当做左值出现。所以不能直接用字符串赋值给数组名。但请注意:可以在定义字符数组的同时用字符串给字符数组赋初值。 char name[20]="gyy"; //ok 但先定义,再赋值的方式就是错误的。 char name[20];
) }2 }: Z" W& d, U$ z2 f7 l: U name="gyy"; //error 对开始的程序修改方式(1) #include <iostream>
7 A, {6 c. X; w. ^8 fusing namespace std;. t6 Q% `( |& Q
struct student( D2 @& ~* G; L+ x: Y
{2 r# \) n. s2 D/ y2 i: D9 x
string name;
7 Y# r' G8 ]4 J& ^ int age;
* a6 G) T! i9 A$ G5 ?+ o}; int main( )) j& F7 i5 d+ N, G; w
{$ }1 t2 D3 C6 R" ^$ h7 B
student s;
$ w% q1 @; |2 } s.name="gyy"; //ok
' t J! H4 M4 ]& M return 0;0 R" `: R/ B, {7 O0 E$ \# z
} 对开始的程序修改方式(2) #include <iostream>
. R r, f- [/ U2 ~" B' i: dusing namespace std;
" m. l x/ v) S& U$ Y! M' tstruct student4 @. ?4 ^3 D- p- I
{
: K3 _8 K$ ^' Z1 ~1 o( l char name[20];% e! e' H5 L4 _' f
int age;8 o9 O" d4 N+ c% c# t
}; int main( ), v0 i& f2 u7 k. i5 N6 k1 W' s
{
j/ z6 e1 p: s! W- N student s;
! R8 m4 r$ e9 f$ q& A strcpy(s.name,"gyy"); //ok
6 u( u1 g f; [9 `) E* \ return 0;
' J' P7 e1 Q, r# f} 7 `) G+ x g; Y& z/ n
|