繁体   English   中英

将元组分配给一个 int 变量并打印该变量

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM