當前位置:首頁 » 編程語言 » 怎麼刪除c語言函數
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

怎麼刪除c語言函數

發布時間: 2022-12-22 22:19:50

c語言,刪除指定段節點函數。

p1 = head;
p = head->next;

while(p->next != NULL)//當鏈表下個節點不是末尾時
{
if((p->number < mink)||(p->number > maxk))//如果節點值不滿足條件,則刪除該節點
{
p = p->next;
p1->next = p;
}
else //尋找下一個節點
{
p =p->next;
p1 = p1->next;
}
}

Ⅱ C語言的刪除函數

1、用remove函數
功 能: 刪除一個文件
用 法: int remove( const char *filename);
頭文件:在Visual C++ 6.0中可以用stdio.h
返回值:如果刪除成功,remove返回0,否則返回EOF(-1)。

2、常式(1.txt在程序目錄下):

#include<stdio.h>
intmain()
{
if(remove("1.txt"))
printf("Couldnotdeletethefile&s ","1.txt");
elseprintf("OK ");
return0;
}

Ⅲ c語言怎樣刪除main

在C語言中win32程序運行的入口是main(),如果你寫1些.dll、.lib文件,就只需要寫導出函數便可,不需要寫main()。很多可履行程序都是在main()函數中寫1些調用其他程序的代碼。再隱藏黑窗口。還有1些情況是使用MFC、QT等gui程序,就不需要main()函數作為入口。總之,main()函數是根據自己需要來選擇是不是使用,沒有刪不刪除之說。對建立好的win32程序來講沒有main()是不行的。

Ⅳ c語言中如何對文件的部分內容刪除

1、建立一個.c或者.cpp文件,還要建立一個.txt文件進行操作處理,並且寫上c語言的編譯預處理,頭文件,主函數。

Ⅳ 求C語言刪除函數運行說明

void del()
{
STU a[20]; char tname[20];
int i=0,j,n=0;
FILE *fp;
printf("\t\t\t請輸入要刪除的姓名:");
scanf("%s",tname);
/*****以下內容是讀取文件信息,並將文件中的信息與用戶輸入的姓名做比較,如果姓名相同,則刪除該學生信息***/
if((fp=fopen("e:\\file1","rb"))==NULL) //打開文件file1
{printf("error!\n");exit(0);} //打開失敗,報錯並退出系統
while(fread(&a[n],sizeof(STU),1,fp)!=0) //打開成功,每次從文件中讀入一個STU結構大小的數據,並將其存入數組a[]中。直到文件內容結束。
n++;
/**該循環用於查找**/
for(i=0;i<n;i++)
if(strcmp(a[i].name,tname)==0) break; //找到姓名相同的學生了,結束循環。
if(i==n) //找完一遍,沒找到
{ printf("\t\t\t沒有找到!\n");
fclose(fp); //關閉文件file1
}
else //找到了同姓名的學生
{
/**該循環用於刪除該學生信息**/
for(j=i;j<n-1;j++) //從找到該學生的位置開始,依次把後面的數據前移,覆蓋掉前一個
{
a[j]=a[j+1];
}
n=n-1; //學生總數減1
/****以下內容是更新文件,並提示用戶刪除成功****/
if((fp=fopen("e:\\file1","wb"))==NULL) //再次打開文件file1,把刪除之後的信息保存到文件中
{printf("error!\n");exit(0);}
fwrite(a,sizeof(STU),n,fp); //每次往文件中寫入一個學生的信息(即一個STU大小)
fclose(fp);
printf("\t\t\t刪除成功!\n");
system("pause"); //頁面顯示諸如「按任意鍵繼續……」
}
}

Ⅵ C語言編寫一個插入刪除函數

一般呢,插入和刪除函數是分開寫的,還有分成兩種存儲結構,1.順序表,2.鏈表,我給你一個我上數據結構時候寫的鏈表的操作,裡面全都有,如果不會用,追問我

#include<stdio.h>

#include<malloc.h>

#include<Windows.h>

#include<conio.h>

#include<stdlib.h>

typedef struct

{

int data;

struct LNode *next;

}LNode;

LNode *Listinit(LNode *L)//初始化鏈表返還頭指針

{

L = (LNode *)malloc(sizeof(LNode));

if (!L)return 0;

L->next = NULL;

return L;

}

int GetElem_L(LNode *L, int i, int *e)//取第i個元素

{

int j;

LNode *p;

p=L->next;j=1;

while(p&&j<i)

{

p=p->next;++j;

}

if(!p||j>i) return 0;//i超過表長

*e=p->data;

return 1;

}

int ListInsert_L(LNode *L, int i, int e)//插入數據元素

{

LNode *p1 = L,*p2=L;

int j = 0;

if (i-1 > LinkLength(L))

return 2;

while(p1!=NULL && j<i-1)

{

p1 = p1->next;

j++;

}

p2 = (LNode *)malloc(sizeof(LNode));

if (!p2)

return 0;

p2->data = e;

p2->next = p1->next;

p1->next = p2;

return 1;

}

void ClearList(LNode *L)//重置為空表

{

LNode *p;

while(L->next)

{

p=L->next;

L->next=p->next;

free(p);

}

}

void print_link(LNode *L)//輸出函數

{

LNode *p = L;

p = p->next;

while (p != NULL)

{

printf("%5d", p->data);

p = p->next;

}

}

int ListDlete_L(LNode *L, int i, int *e)//刪除L中I,並用e返回

{

int j = 0;

LNode *p1 = NULL, *p2 = NULL;

p1 = L;


while (p1->next != NULL && j < i - 1)

{

p1 = p1->next;

j++;

}

if (p1->next == NULL || j > i - 1)

return 0;

p2 = p1->next;

p1->next = p2->next;

free(p2);

return 1;

}

int LinkLength(LNode *L)//鏈表的長度

{

int i = 0;

LNode *p = L->next;

while (p != NULL)

{

i++;

p = p->next;

}

return i;

}


Ⅶ 求大神,關於c語言刪除函數

1. 函數開始的時候這兩句話沒有意義
p=(stud *)malloc(sizeof(stud));
q=(stud *)malloc(sizeof(stud));
你只是用了這兩個指針,為它們分配空間一是沒必要,二是內存會泄露
2. 看你的代碼應該是有頭結點的鏈表,搜索的時候p=head;p初始化為了head,指向了頭結點,搜索的時候應該從p->next開始,而你用的while((p!=NULL)&&(strcmp(p->name,N)!=0)),應該用p->next!=NULL。而且後面刪除的時候也刪除的是p->next,所以比較的話也應該用p->next:strcmp(p->next->name,N)

Ⅷ C語言數組刪除函數刪除不了

兩種做法

1 數組a[]設為全局變數

#include<stdio.h>
#include<stdlib.h>

inta[20]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};

voiddelete1(intx)
{
inti;
for(i=x;i<20;i++)
a[i]=a[i+1];
}

intmain()
{
inti,x;
printf("請輸入要刪除的學生學號:");
scanf_s("%d",&x);
delete1(x);
for(i=0;i<20;i++)
printf("%d ",a[i]);
system("pause");
return0;
}


2 delete1函數增加一個參數,用於傳入待處理的數組

#include<stdio.h>
#include<stdlib.h>

voiddelete1(intx,inta[])
{
inti;
for(i=x;i<20;i++)
{
if(i+1==20)
{
a[i]=0;
}
else
{
a[i]=a[i+1];
}
}
}

intmain()
{
inta[20]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20},i,x;

printf("請輸入要刪除的學生學號:");
scanf_s("%d",&x);

delete1(x,a);
for(i=0;i<20;i++)
printf("%d ",a[i]);

system("pause");
return0;

少年,自行選一個吧,總有一款你喜歡的

Ⅸ 怎麼用C語言編寫一個刪除函數刪除信息啊

樓上兩位說的free只適用於鏈表
如果用數組 free不行
你可以用覆蓋的方法來刪除信息 用一條其他新賦值給要被刪除的信息
比如a,b都是結構體變數 要刪除a可以這樣 a=b;