请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
#include <iostream>
0 Z [ w% x$ V# qusing namespace std;- I' V. L& u9 {1 r: i
struct student# h' S3 W+ m# J# v! E
{( |. ?3 n O8 Y3 ?
char name[20];. U" [: z+ l' f7 N
int age;
& [" {4 T6 Z/ l}; int main( )4 b' D/ H- O: X. y
{
' @2 z2 h( p! M! W student s;
. U4 D- U! `/ v2 Q, r s.name="gyy"; //error
, B: s( }: _2 ] return 0;
) ]' }0 E2 Q. U}
, j5 \/ k; |7 u) Z3 L. E( w 道理和以下语句错误的原因一样,数组名表示常量,不允许对常量赋值,所以常量不允许出现在“=”的左边,当做左值出现。所以不能直接用字符串赋值给数组名。但请注意:可以在定义字符数组的同时用字符串给字符数组赋初值。 char name[20]="gyy"; //ok 但先定义,再赋值的方式就是错误的。 char name[20];
5 g# c2 p2 g" g- @; n) H1 @ name="gyy"; //error 对开始的程序修改方式(1) #include <iostream>% @7 g% T) l2 Y. \8 y s
using namespace std;
2 x# @5 m6 D2 }/ Ystruct student
. m: E2 v1 E+ s# G% W: `{
; s7 T2 g+ @2 I( H string name;2 A2 M0 A$ V7 U+ K7 i2 L
int age;$ @4 [& `6 a4 c+ G+ ^2 v& K3 N
}; int main( )
2 S" H: ?) A1 @2 b; r3 q{
1 M$ A1 j0 z+ n" M3 S. t9 y3 U student s;
! N: u+ `* ~+ o' D1 H; \( r s.name="gyy"; //ok
1 U' L8 i; T1 u return 0;" |, n c; f/ e1 d
} 对开始的程序修改方式(2) #include <iostream>8 H- F( ~# ^: X
using namespace std;
" K( }" ]1 q5 Ystruct student! }$ R( {5 g3 R8 v
{# C# W- ^5 B2 [- I5 Y. {) c' ^
char name[20];# u/ b6 E! U0 |& I+ I8 J6 O
int age;& x2 T2 P9 F" a2 F K/ t3 `2 t
}; int main( )1 z, D: ^* ~- Q2 Y8 T
{
. q4 g- Q" {. m4 r/ u student s;
& ]3 l7 n+ ]! S9 u. j2 ]! O# p: k strcpy(s.name,"gyy"); //ok
( X) j) g( U% Q6 ?* [ return 0;9 c- m8 A: b$ Z9 ]: ]
} 2 ]* l4 _5 J8 H x) Q
|