c語言輸入結束程序
1. c語言輸入結束問題
這樣的輸入,永遠都不可能結束~~~如果你要強行將dos窗口結束的話,你可以按ctr+c,但這是結束整個dos的運行,而不是結束while循環……還有不明白的話,可以繼續提問,不知道你是想要輸入什麼?想要的到什麼結果?
2. c語言怎樣輸入一串字元讓程序停止
你好
很高興為你解答
答案是:將讀入的字元串與你預設的字元串(比如exit)作比較,如果相同就break退出循環,程序就退出了。
滿意請採納,謝謝
3. c語言程序設計 怎麼以輸入EOF結束
EOF(End Of File)是C語言中的文件結束標志符。當C語言輸入函數獲取到文件結尾標志時,會通過返回值的方式體現該值。
所以要以輸入EOF為結束,就需要判斷輸入函數的返回值。
EOF定義在stdio.h中,與常用的輸入函數相同,所以不需要額外引用頭文件。
以下根據輸入函數不同,分別說明EOF的判斷。
1 getchar
getchar函數的功能是讀入一個字元。適用於逐個字元輸入的情況。
其返回值為int型,常見的做法是賦值給char型變數,但如果要檢查EOF,則必須將返回值賦值給int型。
代碼:
intc;
while(1)
{
c=getchar();//讀入一個字元。
if(c==EOF)break;//如果遇到EOF則退出循環,即結束輸入。
}
2 scanf
scanf是最常用的C語言輸入,其作用為格式化輸入,可以用來輸入各種類型的變數值。
以int型為例:
intc,ret;
while(1)
{
ret=scanf("%d",&c);//讀入一個整型值。
if(ret==EOF)break;//如果遇到EOF則退出循環,即結束輸入。注意判斷的是返回值,而不是讀入的變數。
}
3 gets
gets作用是讀入一行數據,存到字元數組中,並把讀到的換行符轉換為字元串結束符。
正常情況下其返回值為傳入的指針,當遇到EOF時,其返回NULL(空指針)。
所以用gets讀入時可以這樣判斷:
chars[100];
while(1)
{
if(gets(s)==NULL)break;//當gets返回NULL時代表遇到EOF,結束輸入。
}
當輸入為文件時,遇到文件結尾C語言可以自動識別EOF,但如果輸入為命令行交互模式,那麼需要手動輸入EOF. 在windows平台輸入EOF的方法為,同時按下ctrl和z鍵。如果是unix/linux平台,則需要同時按下ctrl+d鍵。
4. C語言里的EOF(結束程序)怎麼用
在C語言中,或更精確地說成C標准函數庫中表示文件結束符(end of file)。在while循環中以EOF作為文件結束標志,這種以EOF作為文件結束標志的文件,必須是文本文件。在文本文件中,數據都是以字元的ASCII代碼值的形式存放。
一般EOF的值為-1,ASCII代碼值的范圍是0~255,不可能出現-1,因此可以用EOF作為文件結束標志。
EOF在windows對應的按鍵是CTRL+Z鍵,在linux系統上對應的按鍵是CTRL+D。比如下面的代碼:
#include<stdio.h>
intmain()
{
intc;
while((c=getchar())!=EOF)
putchar(c);
return0;
}
運行程序按CTRL+Z鍵,即會顯示「^Z",再次按回車鍵即可退出程序。
5. C語言 關於當輸入0時結束程序的問題知道
1、(scanf("%d",&a)!=0)
的意思是:scanf("%d",&a)這個操作沒有不成功,成功錄入則為1,失敗則為0;與輸入是否為0是不同概念,請注意區分。
2、如果要輸入為0結束可改為:
int
a,
.......;
scanf("%d",&a);
while(a!=0){
.................
scanf("%d",&a).;
}
6. c語言程序運行過後有輸入語句卻顯示輸入任意鍵結束時怎麼回事
一個書寫正確的程序,有輸入數據肯定有輸出數據但是程序在沒有輸出數據之前就已經結束,這說明程序的代碼中寫錯了,出現了嚴重的錯誤,導致在執行過程的中途崩潰了。
7. C語言用什麼語句終止整個程序
1、首先打開vc6.0,新建一個項目。
8. c語言為什麼只能輸入一次就直接結束程序了
第一次輸完數字後還有一個回車字元留在緩沖區,第二次就直接讀到ch了,所以會出現兩個回車。可在第二次讀取前getchar();吸取留在緩沖區的字元。
9. c語言中怎樣用代碼結束一個程序
結束自身,用exit(0);
結束其它的
你需要查找到該程序的進程名後者進程號
然後用system調用系統的taskkill
具體命令語法,在命令行輸入taskkill /? 或者網路。