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

c語言怎麼控製程序停止

發布時間: 2023-03-27 02:52:50

c語言用什麼語句終止整個程序

C語言用exit()語句可以終止整個程序。

C語言中,exit()通常是用在子程序中用來終結程序用的,使用後程序自動結束,跳回操作系統。exit(0) 表示程序正常退出;exit(1)、exit(-1)表示程序異常退出。在整個程序中,只要調用exit,就會結束程序。

exit()函數所在的頭文件是stdlib.h,需要將該頭文件引入後使用。

(1)c語言怎麼控製程序停止擴展閱讀:

exit()函數內部實際操作過程:

1、調用atexit()注冊的函數(出口函數),按ATEXIT注冊時相反的順序調用所有由它注冊的函數,這使得我們可以指定在程序終止時執行自己的清理動作.例如,保存程序狀態信息於某個文件,解開對共享資料庫上的鎖等.

2、調用cleanup()來關閉所有打開的流,這將導致寫所有被緩沖的輸出,刪除用TMPFILE函數建立的所有臨時文件.

3、最後調用_exit()函數終止進程。

② c語言如何暫停

可以在main()函數的最後添加一句getchar()或者system("pause");就能讓程序暫停,不過在TC里使用system("pause");需要引入頭文件#include
<stdlib.h>

③ C語言~~~如何使程序中途結束、跳出~~~

程序中途跳出,和結束是兩個不同的概念。

1 要使程序中途跳出,可以使用return語句,跳出該函數。

intfun(intn)
{
inti;
if(n<0)return-1;//在n為負數下,提前退出該函數。
//執行正常功能。
for(i=0;i<n;i++)
printf("%d",i);
}

2 要使程序提前結束, 可以調用exit()函數。

intfun(intn)
{
inti;
if(n<0)exit(-1);//在n為負數下,提前結束程序。
//執行正常功能。
for(i=0;i<n;i++)
printf("%d",i);
}

3 二者區別:

a) 使用exit函數,會結束整個程序。 而使用return只是結束當前函數,還會到主調函數處繼續運行。

b) 在main函數中使用return語句,等效於調用exit函數,同樣會結束程序。

c) 調用exit函數時,需要引用頭文件stdlib.h。

④ C語言如何讓程序一直不斷運行直到按了某個鍵以後停止,代碼怎麼寫

可以參考下面的代碼:

#include <stdio.h>

#include <conio.h>

#include <windows.h>

main( )

{

int p;

while( ! _kbhit() ) {

// run progs

_cputs( "Please hit me ! " );

Sleep(500);

}

return 0;

}

(4)c語言怎麼控製程序停止擴展閱讀:

kbhit()是一個C和C++函數,用於非阻塞地響應鍵盤燃叢輸入事件。

函數名皮州櫻:kbhit()

功能及返回值: 檢查當前是否有鍵盤輸入,若有則返回一個非0值,否則返回0。

用 法:跡攔int kbhit(void);

C++語言包含頭文件: include <conio.h>。

C語言不需包含額外頭文件。

在VC++6.0下為_kbhit()

功能及返回值同上。

⑤ c語言裡面,如何設置一個按鍵使程序停止

main()
{
....;
/* 需要按鍵暫停或停止部分,通常是循環體*/
#define STOP_KEY 'm'
while(你的循環條件) {
if(kbhit()) {
char ch=getchar();
if(ch == STOP_KEY) break; /*中止循環*/
}
}
....;

}

⑥ visual studio2012中 c語言編譯出來的程序怎麼暫停啊

1)建立工程時選擇控制台程序,這樣不需要自設斷點(如system('pause')或getch()等),運行時F5是調試,Ctrl+F5是執行但不調試。
2)如果項目不是控制台程序,那麼自設斷點達到暫停的目的。

⑦ C語言如何停止運行

一般都是用Ctr+c來停止。如果是程序內部的話,可以在main函數裡面使用return,或者用exit()都可以讓程序停止運行。

⑧ C語言程序強行停止

#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=0; i<n; i++)
{
scanf("%ld,%s",&stu[i].number,stu[i].name);
stu[i].sum=0;
for(j=0; j<3; j++)
{
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=0; i<n-1; i++)
{
for(j=i+1; j<n; j++)
{
if(stu[j].sum>stu[i].sum)
{
for(k=0; k<3; k++)
{
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=0; i<n; i++)
{
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);
}

⑨ C語言程序怎麼實現按空格鍵停止,停止後按空格鍵繼續

在windows控制台中運行的話,需要用到kbhit函數,該函數檢測鍵盤,在有鍵盤輸入時返回值非0,getch函數是如果沒有輸入則會停止等待,無法實現無輸入不等待,因此需要前面函數配合使用。

#include<stdio.h>
#include<conio.h>
voidmain(){inti;charc;
i=0;
while(1){
printf("%6d按空格鍵暫停,按回車鍵退出 ",i);
if(kbhit()){//是否有鍵按下,每次檢測不會等待鍵盤動作立即返回狀態
c=getch();//取得此次輸入的ASCII碼
if(c=='')
do{printf("---------------按空格鍵繼續... ");c=getch();
}while(c!='');//等待輸入,空格退出循環
elseif(c==13)break;//如果是換行輸入則退出整個循環
}
i++;i%=10000;
}
}

⑩ c語言怎麼關閉正在運行的應用程序

可以通過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 選項。