[英]assigning tuple to an int variable and printing the variable
我尝试将一个元组分配给一个int
变量。 这是我的代码。 i = (12, 45, 58, -1, 90, 100);
当我打印i
时,它显示100
的值。 元组在 C 语言中是如何工作的?
谢谢
右侧表达式是带有逗号运算符的表达式
i = (12, 45, 58, -1, 90, 100);
它的值和类型是最后一个操作数的值和类型。
其实上面的语句等价于
i = 100;
因为其他子表达式没有副作用。
来自 C 标准(6.5.17 逗号运算符)
2 逗号运算符的左操作数被评估为 void 表达式; 在它的求值和右操作数的求值之间有一个序列点。 然后评估右操作数; 结果有它的类型和值。
在C
中,您可以使用structure
作为替代。
示例代码:
#include <stdio.h>
typedef struct
{
int num1;
int num2;
char name[10];
}TupleInfo;
int main()
{
TupleInfo tuple1 = {1, 2, "Marty"};
printf("%d %d %s\n", tuple1.num1, tuple1.num2, tuple1.name);
return 0;
}
Output:
1 2 Marty
注意:如果你想使用相似的数据类型,那么使用数组可能更方便。
要详细了解 C 中的结构,请查看以下资源:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.