请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
#include <iostream>
+ q! t# L7 w# q: O) D7 Jusing namespace std;
; ?& ]3 S" L% `. Z- u- _6 fstruct student
' w' V9 @ r. d2 m{
, f( ?3 [4 \4 s/ O; f9 G char name[20];
; N0 w! Z$ L& ]) f int age;) N$ a: X. A7 h
}; int main( )
$ @8 D9 [6 e4 E3 j{
- R5 q4 X5 j. t* s- x student s;! L2 C P& p$ L9 Y) T( s
s.name="gyy"; //error% C+ r& U9 Q5 S# [; i
return 0;
/ ]2 W2 D. ~ x7 a' ]2 s( o}
; y+ Z) Z' t8 P8 Y 道理和以下语句错误的原因一样,数组名表示常量,不允许对常量赋值,所以常量不允许出现在“=”的左边,当做左值出现。所以不能直接用字符串赋值给数组名。但请注意:可以在定义字符数组的同时用字符串给字符数组赋初值。 char name[20]="gyy"; //ok 但先定义,再赋值的方式就是错误的。 char name[20];
/ B1 R9 |: |" d0 h5 ^! o name="gyy"; //error 对开始的程序修改方式(1) #include <iostream>
7 |. ^: ?3 ~3 j' yusing namespace std;
8 M K$ P$ S* B- @0 z1 F$ ^struct student
3 k, [5 M; w4 ~$ I! o+ E{
, z; L, l4 y4 ~6 h: r string name;4 Q& U$ D2 U. \( W9 H( r9 Q8 b
int age;' T# U9 e7 j3 ]6 m. V8 L
}; int main( )+ H6 B0 B( q8 m9 v! j7 C& @
{
+ a# O" @' r q, ^0 I* R* I student s;
9 u5 N6 n N8 o# Q4 n1 q+ ~ s.name="gyy"; //ok
1 h; b! Q: C& E- ` return 0;! Q3 @& q# j( Y e2 Q/ e9 W$ B
} 对开始的程序修改方式(2) #include <iostream># Y+ e1 b/ M( {
using namespace std;
# I& V4 O7 p$ g5 u6 q& _struct student8 q6 `' K5 Y0 h0 T4 u7 m, k: _
{
* W: R: e0 E8 ? char name[20];0 K, i) o# f+ S
int age;
' C0 h/ ^. ~6 Z! }$ ?' P}; int main( )- R: H3 Z, \0 K
{& j* y, O- r, b* T) P1 e: w) W
student s;; g3 F9 d V8 q( U* v
strcpy(s.name,"gyy"); //ok6 H0 ^( e( G: P
return 0;
; e4 ^! R* d% M# R3 w2 H. |} 6 n; k: e, A( P1 r1 q
|