调试一个c语言程序要经过,c语言程序调试
該樓層疑似違規已被系統折疊?隱藏此樓查看此樓
scanf("%f",&p1->score);
}
p2->next = NULL; /*此句就是根據單向鏈表的最后一個節點要指向NULL*/
free(p1); /*釋放p1。用malloc()、calloc()的變量都要free()*/
p1 = NULL;
}
Delete() //刪除節點函數
{ long num;
struct student *p1;?? /*p1保存當前需要檢查的節點的地址*/
struct student *p2;?? /*p2保存當前檢查過的節點的地址*/
printf("please input the num you want to delete");
scanf("%d",&num);
if (head == NULL)
{
printf("\nList is null!\n");
}
/*定位要刪除的節點*/
p1 = head;
while (p1->num != num && p1->next != NULL) /*p1指向的節點不是所要查找的,并且它不是最后一個節點,就繼續往下找*/
{
p2 = p1; /*保存當前節點的地址*/
p1 = p1->next; /*后移一個節點*/
}
if (num == p1->num)
{
if (p1 == head) /*如果要刪除的節點是第一個節點*/
{
head = p1->next; /*頭指針指向第一個節點的后一個節點,也就是第二個節點。這樣第一個節點就不在鏈表中,即刪除。*/
}
else /*如果是其它節點,則讓原來指向當前節點的指針,指向它的下一個節點,完成刪除*/
{
p2->next = p1->next;
}
free(p1); /*釋放當前節點*/
p1 = NULL;
printf("\ndelete %ld success!\n",num);
n -= 1; /*節點總數減1個*/
}
else /*沒有找到*/
{
printf("\n%ld not been found!\n",num);
}
}
void insert() //插入節點函數
{}
void print() //打印所有節點的函數
{
struct student *p;
printf("\nNow , These %d records are:\n",n);
p = head;
if(head != NULL) /*只要不是空鏈表,就輸出鏈表中所有節點*/
{
printf("head is %o\n", head); /*輸出頭指針指向的地址*/
do
{
printf("%o??? %ld??? %5.1f??? %o\n", p, p->num, p->score, p->next);
p = p->next; /*移到下一個節點*/
}
while (p != NULL);
}
}
void search()
{}
void menu()
{?? printf("????????? **********學籍管理系統************\n");
printf("\n???????????????? ******請選擇******\n");
printf(" *************|1 |建| 立| 學| 生| 信| 息| 結| 構|*************\n");
printf(" *************|2 |刪| 除| 學| 生| 信| 息|????? **************\n");
printf(" *************|3 |加| 入| 新| 的| 學| 生| 信| 息|*************\n");
printf(" *************|4 |顯| 示| 所| 有| 學| 生| 信| 息|*************\n ");
printf("*************|5 |查| 找| 學| 生| 信| 息|????? **************\n");
printf(" *************|0 |退| 出| 程| 序|??????????? *************\n");
}
void main()
{??? int choose;
int i=1;
while(i=1)
{
menu();
printf("請輸入0-5選擇功能");
scanf("%d",&choose);
switch(choose)
{
case'1': Create();?? break;
case'2': Delete();?? break;
case'3': insert();?? break;
case'4': print();??? break;
case'5': search();?? break;
case'0': i=0; printf("程序結束!!"); break;
default: printf("\n Wrong Selection !(選擇錯誤,重選)\n"); break;
}
}
}
總結
以上是生活随笔為你收集整理的调试一个c语言程序要经过,c语言程序调试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言输入字符串的格式不正确的是,关于c
- 下一篇: c语言程序设计 在线课程设计,c语言程序