请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
#include <iostream>
) I2 [8 z; x- u- m/ ]" g, Uusing namespace std;
) e( |% B) |& Y% |) Pstruct student
& v* M( q8 k9 \, x" a{
1 `5 I1 b/ ^# L+ x) N+ w char name[20];
2 y) \. V- k s3 d4 L int age;
8 [$ c1 c3 z" d f+ p+ b1 q% a}; int main( )
# C0 e" c' x8 e5 L6 u{
* m- d2 A! m; p/ z) W1 c# t student s;0 e+ K/ T( b, S% {1 i2 g
s.name="gyy"; //error7 `4 ^2 P" f" V l, X0 v1 X
return 0;
# j# x$ F- A2 k: s}
# v" m3 W2 y# R+ T) ] 道理和以下语句错误的原因一样,数组名表示常量,不允许对常量赋值,所以常量不允许出现在“=”的左边,当做左值出现。所以不能直接用字符串赋值给数组名。但请注意:可以在定义字符数组的同时用字符串给字符数组赋初值。 char name[20]="gyy"; //ok 但先定义,再赋值的方式就是错误的。 char name[20];- G, n; l6 I5 r& L: F& T
name="gyy"; //error 对开始的程序修改方式(1) #include <iostream>
7 `. p9 C, [! |using namespace std;
7 j: s# e4 E, f6 e4 r- g& X& istruct student0 x: Q/ Y7 V, h0 f) c
{. J% b& O8 i$ L/ w
string name;6 S0 u- v0 k/ u5 ?
int age;
1 g# c6 @- `* { V8 U) T& e1 b* u}; int main( )2 ?& `4 l! t% m/ V4 L
{
6 @/ g$ Z- s: W6 ~7 p1 Y* o2 B" o student s;$ f' {, X. r+ \9 t9 [- h5 X; m1 P
s.name="gyy"; //ok
+ z% `: i( @( g+ F! i0 M return 0;+ L2 W0 q: ^ O
} 对开始的程序修改方式(2) #include <iostream>
' [) \$ o6 {5 z$ Jusing namespace std;
4 o5 P* A& ~$ h- ]struct student
! S1 [& T C2 c; [4 y" o$ K. w{
3 h; I2 ]5 n, ` char name[20];
$ b1 I, |8 i8 y9 O, g' i0 H9 ]- a int age;2 [, y+ L- D1 X6 G1 [0 z1 i
}; int main( )
5 A8 I& d, t. d0 D2 T* M# C{
) L, I9 W- U( ~8 O) H% U student s;* h5 J' f6 C( m$ K' ]5 ^
strcpy(s.name,"gyy"); //ok- X ?/ j5 g. E- Z
return 0;
0 l! ?: Z2 r' N, O2 a! ~} # Y+ N- x% A+ @
|