小编wah*_*dul的帖子

c中的struct缺省值

我在使用结构的C中遇到了这个问题.我不确定这里到底发生了什么.谢谢

#include<stdio.h>
int main()
{
 struct num1
 {
  int n1:2;
  int n2:3;
  int n3:4;
 };
 struct  num1 num={3,4,5};
 printf("%d %d %d\n",num.n1,num.n2,num.n3); 
 return 0;
}
Run Code Online (Sandbox Code Playgroud)

获得的输出是

-1 -4 5

c struct bit-fields

1
推荐指数
1
解决办法
384
查看次数

作业优先顺序

在c中,

main()   {
 int a = (1,2,3,4);
  printf("%d",a); 
}
Run Code Online (Sandbox Code Playgroud)

产生的输出

4

这是因为逗号(,)运算符具有从右到左的优先级.但

main()   {
int a = {1,2,3,4};
 printf("%d",a);
}
Run Code Online (Sandbox Code Playgroud)

产生一个输出

1

任何人都会解释这背后的逻辑.谢谢

c operators

-2
推荐指数
1
解决办法
80
查看次数

标签 统计

c ×2

bit-fields ×1

operators ×1

struct ×1