나는 포인터와 링크드리스트를 처음 사용합니다. 이 코드는 전체 내용의 일부일뿐입니다. 이 부분을 테스트 및 디버깅을 위해 더 간단하게 만들려고했지만 여전히 알아낼 수 있습니다. 누군가가 주어진 코드를 실행 한 후에 프로세스가 종료되고 있다는 것을 알 수 있습니까?코드가 실행 된 후 프로세스가 종료되는 이유는 무엇입니까? 프로세스가 255를 반환합니다.
add funct works
added cards
Process returned 255 (0xFF) execution time : 6.898 s
왜 반환 255 :
#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;
}
}
이 출력이 보이는 무엇인가?
어떤 방향으로 큰 감사하겠습니다!
** 참고 : 나는 C에 쓰고 있어요
파일의 마지막'}'바로 앞에'return 0; '을 넣으십시오. –