在struct节点中显示long long int?

问题描述 投票:1回答:1

我有以下内容:

typedef struct node{
  long long int data; 
  struct node *next; 
}node; 

但是,当我试图存储一个大数字时:

long long int finalVal =139752196320796;
node *newNode = (node*)malloc(sizeof(node)); 
newNode->data = finalVal; 
newNode->next = NULL; 

我尝试打印出节点的值并得到:

-1744523748

有关为何发生这种情况的任何提示?

c
1个回答
4
投票

也许您使用%d%i将您的值打印为整数。而是尝试使用ll long long修饰符,即%lldlli

printf("%lld", newNode->data);
printf("%lli", newNode->data);
© www.soinside.com 2019 - 2024. All rights reserved.