单选题
1、第257题 (1.0分) 题号:534 相同结构体类型的变量之间,可以()。
A
相加
B
赋值
C
比较大小
D
地址相同
答案解析
正确答案:B
解析:
**解析:**
在 C 语言中,对于相同结构体类型的变量,其支持的操作如下:
1. **赋值(正确)**:
C 语言允许将同一个结构体类型的变量直接赋值给另一个同类型的变量。例如 `struct Student s1, s2; s1 = s2;` 是合法的。这会将 `s2` 中所有成员的值逐个拷贝到 `s1` 中(浅拷贝)。因此,选项 **B** 是正确的。
2. **相加(错误)**:
结构体是一种复合数据类型,C 语言没有定义结构体之间的加法运算符(`+`)。不能直接写 `s1 + s2`。如果需要“相加”的效果,必须手动对结构体内的各个数值成员分别进行加法运算。因此,选项 A 错误。
3. **比较大小(错误)**:
C 语言同样没有定义结构体之间的比较运算符(如 `==`, `!=`, `<`, `>` 等)。不能直接写 `s1 == s2` 或 `s1 > s2`。如果需要比较两个结构体是否相等或大小关系,必须逐个比较其成员变量。因此,选项 C 错误。
4. **地址相同(错误)**:
每个变量在内存中都有独立的存储地址。即使两个结构体变量的内容完全相同,它们也是两个不同的实体,占据不同的内存空间,因此它们的地址不可能相同(除非是指向同一内存块的指针,但题目说的是“变量之间”)。因此,选项 D 错误。
**综上所述,正确答案是 B。**
题目纠错
c语言选择判断题库
相关题目
单选题
1、第2题 (1.0分) 题号:681 以下运算符中优先级最低的是()。
单选题
1、第1题 (1.0分) 题号:513 int a[10];合法的数组元素的最小下标值为()。
单选题
1、〖第40题〗740) 若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,
单选题
1、〖第39题〗560) 能将高级语言编写的源程序转换为目标程序的是()。
单选题
1、〖第38题〗77) 以下描述中,正确的是()。
单选题
1、〖第37题〗528) 对于void类型函数,调用时不可作为()。
单选题
1、〖第36题〗88) 两个指针变量不可以()。
单选题
1、〖第35题〗567) 以下叙述中正确的是 ()。
单选题
1、〖第34题〗454) 以下函数调用语句中实参的个数是()。 func((e1,e2),(e3,e4,e5));
单选题
1、〖第33题〗214) C语言中的文件的存储方式有()。
