【发布时间】:2017-11-08 23:03:29
【问题描述】:
我是指针和创建链表的新手。代码只是整个事情的一部分。我试图让这部分更简单地进行测试和调试,但我仍然可以弄清楚。有人可以帮我弄清楚该进程在执行给定代码后是否被终止?
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#define SPADE "SPADE"
#define CLUB "CLUB"
#define DIAMOND "DIAMOND"
#define HEART "HEART"
typedef struct Card{
int value;
char suit[10];
}Card;
typedef struct BagNode {
Card* card;
struct BagNode* next;
}BagNode;
int main() {
BagNode* head = NULL;
BagNode* tail = NULL;
const char* suit = SPADE;
int value = 6;
if(tail == NULL)
{
printf("add funct works\n");
BagNode* newNode = (BagNode*)malloc(sizeof(BagNode)); // allocate space
newNode->card->value = value; // assign value
strcpy(newNode->card->suit, suit); // assign value
head = newNode;
tail = newNode;
printf("added cards\n");
}
else{
BagNode* newNode = (BagNode*)malloc(sizeof(BagNode)); // allocate space
newNode->card->value = value; // assign value
strcpy(newNode->card->suit, suit); // assign suit
tail->next = newNode;
tail = newNode;
}
}
这是输出的样子:
add funct works
added cards
Process returned 255 (0xFF) execution time : 6.898 s
为什么返回 255?
任何方向将不胜感激!
**注意:我正在用 C 语言编写
【问题讨论】:
-
尝试将
return 0;放在文件的最后一个}之前
标签: c pointers struct linked-list nodes