请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
#include <iostream>" _2 F1 u' |/ }) Y8 V( I
using namespace std;
' W/ S F' }1 X Estruct student
4 u k* J: r6 i+ Q5 `$ P7 Z& ]{9 J; y- k" Q" |) a; V
char name[20];
( \) w& j% x$ v; @: _+ Y* u5 c. X int age;5 b8 l8 S$ w5 m
}; int main( )
- @ [, T) x. S, L1 f" k# r{- a- u U: X* X! z0 e& _" {
student s;9 U5 K( [! z9 H6 ~
s.name="gyy"; //error, g( o5 Q3 }8 h8 u8 V8 ] b. p
return 0;
+ j; [6 ?& K5 A A {}
; }) A6 w3 L! r F% r9 q# { s 道理和以下语句错误的原因一样,数组名表示常量,不允许对常量赋值,所以常量不允许出现在“=”的左边,当做左值出现。所以不能直接用字符串赋值给数组名。但请注意:可以在定义字符数组的同时用字符串给字符数组赋初值。 char name[20]="gyy"; //ok 但先定义,再赋值的方式就是错误的。 char name[20];
: k8 {3 K2 z9 x# X( e name="gyy"; //error 对开始的程序修改方式(1) #include <iostream>8 k; [( U+ k& [* V( i
using namespace std;
& ?5 K5 Q) u, Dstruct student$ C" H- A3 R6 d( P9 G' g9 m' n
{" b; b' ]3 V* B% ?
string name;8 l8 U! S8 F7 K* t* m
int age;
8 U2 _' G3 Y; V3 `+ t# y}; int main( )8 x- J6 Q! F1 d0 \
{& J# ~9 K9 z6 G- i+ W: \) I
student s;& W5 W% g! F2 I; X( i% {" M' {
s.name="gyy"; //ok
8 S& a- J3 f" T0 C/ X# \ z return 0;
, u$ E$ ^( H+ q0 W% d( D} 对开始的程序修改方式(2) #include <iostream>; L0 C( v/ W) F5 J: j9 p$ H
using namespace std;: R7 X" z3 N2 w
struct student7 T5 |8 V' f2 m3 L5 q( O7 F
{
; a7 w- B- C* c3 U3 E char name[20];
2 B4 V' t/ q1 Y' _9 H- s4 J% v int age;
4 t( D" E( }2 s. D}; int main( )$ r2 n q% e+ f3 G
{' F2 q3 A1 O) }" \. g
student s;8 [9 w5 J! d% z5 q8 L; n5 @
strcpy(s.name,"gyy"); //ok; f% Z, }: A% M- k w' k; q* A- f
return 0;
% }2 ?2 j) F8 ~7 f# r} 0 H) ^' f; y' C! d2 b
|