C语言程序强行停止

C语言程序强行停止,第1张

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#define N 30

typedef struct student

{

long number

char name[10]

float score[3]

float sum

float ave

} STUDENT

void swapfloat(float *x,float *y)

void swaplong(long *x,long *y)

void swapchar(char x[],char y[])

int main()

{

STUDENT stu[N]

int i,j,k,l,n

printf("请输入学生人数:")

scanf("%d",&n)

printf("请输竖罩滑入学号、姓名和各科成绩\n")

for(i=0i<ni++)

{

scanf("%ld,%s",&stu[i].number,stu[i].name)

stu[i].sum=0

for(j=0j<3j++)

{

scanf("%f",&stu[i].score[j])

stu[i].sum=stu[i].sum+stu[i].score[j]

}

stu[i].ave=stu[i].sum/3

}

char cx[10]

for(i=0i<n-1i++)

{

for(j=i+1j<nj++)

{

if(stu[j].sum>stu[i].sum)

{

for(k=0k<3k++)

{

swapfloat(&stu[j].score[k],&stu[i].score[k])

}

swapfloat(&stu[j].sum,&stu[i].sum)

swapfloat(&stu[j].ave,&stu[i].ave)

swaplong(&stu[j].number,&stu[i].number)

swapchar(stu[j].name,stu[i].name)

}

}

}

printf("请闷宴输入要查询余腊的学生姓名:")

scanf("%s",cx)

for(i=0i<ni++)

{

if(strcmp(cx,stu[i].name)==0)

printf("%s:%ld%6.1f%6.1f%6.1f 总分:%.1f,排名为第%d名\n",stu[i].name,stu[i].number,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].sum,i+1)

}

system("PAUSE")

return EXIT_SUCCESS

}

void swapfloat(float *x,float *y)

{

float temp

temp=*x

*x=*y

*y=temp

}

void swaplong(long *x,long *y)

{

long temp

temp=*x

*x=*y

*y=temp

}

void swapchar(char x[],char y[])

{

char temp[10]

strcpy(temp,x)

strcpy(x,y)

strcpy(y,temp)

}

可以通过system 函数,调用dos命令taskkill实现关闭正在运行的应用程序。

system("taskkill /im notepad.exe")

会关闭记事本镇宏应用。

system("taskkill \F /pid 1234 \T")

会强制结束pid为1234的进程及其子进程。

关于taskkill的详细描述如下:

TASKKILL [/S system [/U username [/P [password]]]] { [/FI filter] [/PID processid | /IM imagename] } [/F] [/T]

参数列表:

/S system 指定要连接到的远程系统。

/U [domain\]user 指定应该在哪个用户上下文

执行这个命令。

/P [password] 为提供的用户上下文指定密码。如果忽略,提示输入。

/F 指定要强行终止的进程。

/FI filter 指定筛选进或筛选出查询的的任务。

/PID process id 指定要终止的进程的PID。

/IM image name 指定要终止的进程的宴让图像名。通配符 '*'可用来指定所有图像名。

/T Tree kill: 终止指定的进程和任何由此启动的子进程。

/? 显示帮助/用法。

筛选器:

筛选器名 有效运算符 有效值

----------- --------------- --------------

STATUS eq, ne 运行 | 没有响应

IMAGENAME eq, ne 图像名

PID eq, ne, gt, lt, ge, le PID 值

SESSION eq, ne, gt, lt, ge, le 会话编号

CPUTIME eq, ne, gt, lt, ge, le CPU 时间,格式为

hh:mm:ss。

hh - 时,

mm - 钟,ss - 秒

MEMUSAGE eq, ne, gt, lt, ge, le 内存使用,单位为 KB

USERNAME eq, ne 用户名,格式为

[domain\]user

MODULES eq, ne DLL 名

SERVICES eq, ne 服务名

WINDOWTITLE eq, ne 窗口标题

注晌旅局意: 只有带有筛选器的情况下,才能跟 /IM 切换使用通配符 '*'。

注意: 远程进程总是要强行终止,

不管是否指定了 /F 选项。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12350178.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存