c-将元组分配给int变量并打印该变量



我尝试将元组分配给int变量。这是我的密码。i = (12, 45, 58, -1, 90, 100);当我打印i时,它显示了100的值。元组在C语言中是如何工作的?

感谢

右侧表达式是一个带有逗号运算符的表达式

i = (12, 45, 58, -1, 90, 100);

其值和类型是最后一个操作数的值和类型。

事实上,上述声明相当于

i = 100;

因为其他子表达式没有副作用。

来自C标准(6.5.17 Comma操作员)

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 %sn", tuple1.num1, tuple1.num2, tuple1.name);
return 0;
}

输出:

1 2 Marty

注意:如果您想使用类似的数据类型,那么使用数组可能会更方便。

要了解更多关于C中结构的信息,请查看以下资源:

  • C结构
  • C中的结构

相关内容

  • 没有找到相关文章

最新更新