设有定义: struct complee int real, unreal;data1= 1. 8, data 2.则以下赋值语句中错误的是A)data2=data1; B) data2=(2, 6); C) data2. real=datal. real; D) data2.real=data1. unreal;
时间: 2024-04-11 09:31:26 浏览: 123
D) data2.real=data1. unreal; 是错误的赋值语句。
在结构体赋值中,只能将一个结构体变量的所有成员一次性赋值给另一个结构体变量。所以选项 A) data2=data1; 是正确的赋值语句。
选项 B) data2=(2, 6); 是将一个逗号运算符表达式的结果赋值给 data2,这里的结果是 6,所以也是合法的赋值语句。
选项 C) data2.real=data1. real; 是将 data1 的 real 成员的值赋值给 data2 的 real 成员,所以也是正确的赋值语句。
选项 D) data2.real=data1. unreal; 是将 data1 的 unreal 成员的值赋值给 data2 的 real 成员,这是错误的,因为它们的成员类型不匹配。
所以,选项 D) data2.real=data1. unreal; 是错误的赋值语句。
阅读全文