T版主是台湾人?为什么总是用繁体字,好多都不认识啊

一片落叶掉进了回忆的流年。
2015-03-16 18:57
2015-03-16 20:54
程序代码:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
// 結點數據結構
struct Node
{
int Value; // 數據的内容(按需要可爲任何數據類型)
Node* Next; // 數據的地址
};
// 函數原型
void Pause(void);
Node* GetNode(void);
void ShowData(const Node* node);
void ListLinkData(const Node* head);
void FreeLink(Node* head);
// 程序主入口
int main(void)
{
Node* linkHead = GetNode();
if (linkHead != NULL)
{
Node* p = linkHead;
Node *node;
while ((node = GetNode()) != NULL)
{
p->Next = node;
p = node;
}
}
ListLinkData(linkHead);
FreeLink(linkHead);
Pause();
return EXIT_SUCCESS;
}
// 暫停等待用戶按鍵
void Pause(void)
{
printf_s("\n按任意鍵繼續...");
_getch();
}
// 創建一個結點數據並從鍵盤輸入內容,以輸入0爲結束標識
Node* GetNode(void)
{
Node* node = (Node*)calloc(1, sizeof(Node));
if (node != NULL)
{
do
{
printf_s("請輸入結點數據: ");
fflush(stdin); // 清空標準輸入流緩衝區
node->Value = 0;
} while ((scanf_s("%d", &node->Value) != 1) && (node->Value != 0));
if (node->Value == 0)
{
// 輸入零結束時應把當前已申請的內存釋放掉
free(node);
node = NULL;
}
}
else
{
printf_s("內存不足");
}
return node;
}
// 輸出結點的信息
void ShowData(const Node* node)
{
printf_s("Adress = %p, Value = %d, Next = %p\n", node, node->Value, node->Next);
}
// 從指定的結點開始列出鏈表數據
void ListLinkData(const Node* head)
{
if (head != NULL)
{
const Node* node = head;
do
{
ShowData(node);
node = node->Next;
} while (node != NULL);
}
}
// 刪除並釋放從指定節點開始的鏈表數據
void FreeLink(Node* head)
{
if (head != NULL)
{
Node* next;
do
{
next = head->Next;
free(head);
head = NULL;
head = next;
} while (next != NULL);
}
}

2015-03-16 21:25