当前位置:首页 » 编程语言 » 怎么删除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;