请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
#include <iostream>1 b! \7 @- L8 L) E( S# A5 X
using namespace std;
, t$ `* d* N# @* n' k4 x- |struct student& V+ ]* }; W% L, x! l. R# \
{
1 w* S6 K7 _& M: U' S char name[20];
6 T3 X4 \$ ^/ W$ U. i* K int age;3 g& J, a" U: d- p) L
}; int main( )* }% O# t- e& o# I
{
. W1 M: o. T4 G# c8 [ student s;( k; ^1 Y, S# ~7 M8 Y
s.name="gyy"; //error# f! t) ~! A: l n1 o3 `, \! K& ?
return 0;. b% h" X5 t) A- o
}, i( L; Z K: G- ?1 D
道理和以下语句错误的原因一样,数组名表示常量,不允许对常量赋值,所以常量不允许出现在“=”的左边,当做左值出现。所以不能直接用字符串赋值给数组名。但请注意:可以在定义字符数组的同时用字符串给字符数组赋初值。 char name[20]="gyy"; //ok 但先定义,再赋值的方式就是错误的。 char name[20];
- i8 u1 n6 ]) s3 t: O8 U name="gyy"; //error 对开始的程序修改方式(1) #include <iostream>
% X( X, ]/ h6 m; _9 r7 yusing namespace std;, |$ u) u# B8 v2 t, w2 ?' i; A
struct student
1 m' l7 z6 D9 z* o7 Z: v{. M# G& N& o" d$ I
string name;
+ s! _# @: a* ?1 j/ s5 V+ u int age;) W) w- K3 Y/ f+ ]
}; int main( )
/ d3 A$ e+ z& N6 o+ `{
$ K, U8 l! y4 O' y student s;
$ w* q! { r/ p s.name="gyy"; //ok5 `' E0 H; z! N9 P' `9 s. Y
return 0;
# l( e, B; _& G3 N1 l& g* b$ n} 对开始的程序修改方式(2) #include <iostream># r+ s( t' T8 y! ^& s
using namespace std;
# ~$ v/ ^+ W- W* T; @struct student( L( d0 _; o% ~9 {( W
{
# f# @. d( }* z- i+ g/ \+ n char name[20];
" L; ]" m [1 p% w, ? int age;( s. {8 J7 a* E3 m; E
}; int main( )
# X) K! \9 S$ X, S7 K. u- D- m{2 b. ^# ^* [# }/ P2 x
student s;' k: ]4 T+ M" x
strcpy(s.name,"gyy"); //ok$ ~. o; u9 F L% j& m& X( t1 j
return 0;
# m* @# W" o3 N# i( S2 f1 E} $ S- _% ~5 `6 {4 c( F( q( u
|