本文目錄一覽:
C語言的問題! 回車控制輸入結束
scanf(“%c”,a[i])的返回值是scanf這個函數讀到的字符的個數,他的值永遠不可能等於’\n’這個字符,所以if函數的條件表達式的值一直為0,之後的break語句也就永遠不可能執行,所以,方法1是一個死循環。
方法2裏面,當你要結束輸入的時候,鍵入回車鍵,當scanf函數讀到輸入緩存里的最後一個字符時,就把\n這個字符保存在了對應的數組元素里,此時,該方法里的if函數的條件表達式為真,馬上就執行了break語句,於是就跳出了for循環。
C語言怎麼判斷輸入的結束
一般有兩種方法:
1 在輸入前 約定輸入個數。 比如 先輸入一個總數 再輸入總數個或總數組的數據
2 約定輸入結束標記
這個是最常用的。 比如 以空格 換行 或者EOF作為結束標記。
或者約定輸入非法數據結束。
C語言中,怎麼用EOF結束輸入
windows:
首先在最後一行結束後(此時未換行)輸入ENTER鍵,新起一行,再輸入ctrl+z,再輸入時ENTER鍵即可。
Linux:
直接按CTRL+D快捷鍵
示例:
#includeiostream
using namespce std;
void main()
{
int a;
while(cin a)
{
;//循環輸入的代碼塊
}
}
擴展資料:
C語言中,當把數據以二進制形式存放到文件中時,就會有-1值的出現,此時不能採用EOF作為二進制文件的結束標誌。為解決這個問題,ANSI C提供一個feof函數,用來判斷文件是否結束。
如果遇到文件結束,函數feof(fp)的值為1,否則為0.feof函數既可用以判斷二進制文件是否結束,也可以用以判斷文本文件是否結束。
例如:編寫程序,用於把一個文本文件(源文件)複製到另一個文件(目的文件)中。源文件名為file_a.dat,目的文件名為file_b.dat。程序如下:
#include stdio.h
#include sys/types.h
#include sys/stat.h
#include fcntl.h
void filecopy(FILE *,FILE *);
main ( )
{
FILE*fpin,*fpout;
fpin =fopen (“file_a.dat”,”r”); /*打開輸入文件*/
fpout = fopen (“file_b.dat”,”w”); /*打開輸出文件*/
filecopy( fpin,fpout ); /*把fpin所指文件中的內容輸出到fpout所指文件中*/
fclose ( fpin );fclose ( fpout ); /*關閉輸入輸出文件*/
}
void filecopy( FILE *fpin, FILE *fpout )
{
char ch;
ch = getc ( fpin ); /*先讀一次文件再去判文件是否結束*/
while ( !feof( fpin ) ) /*當未到文件末尾是進行循環*/
{
putc ( ch, fpout ); ch= getc ( fpin );} /*逐個字符進行複製*/
}
C語言中如何實現輸入輸出多組數據,該如何結束輸入
c語言中實現多組數據輸入輸出主要有兩種方式:
1.首先輸入一個n,表示將有n個輸入輸出,例如:
#include
int main()
{
int n,a;
scanf(“%d”,n);
while(n–){
scanf(“%d”,a);
printf(“輸出:%d\n”,a);
}
return 0;
}
/*
運行結果:
3
255
輸出:255
156
輸出:156
125
輸出:125
*/2.使用while(scanf(“%d”,n)!=eof){}語句,直達輸入ctrl+z,結束輸入,例如:
#include
int main()
{
int a;
while(scanf(“%d”,a)!=eof){
printf(“輸出:%d\n”,a);
}
return 0;
}
/*
運行結果:
54
輸出:54
5156
輸出:5156
21
輸出:21
^z
*/
c語言中怎麼結束輸入啊 ?
1、打開軟件,直接使用int類型來定義一個變量用於保存getchar()返回的字符類型。
2、接下來是循環,如下圖所示,直到輸入的字符為回車鍵則退出並輸出所有輸入的內容。
3、最後,全部的代碼如下圖所示,輸入好了之後回車確定,這樣就可以直到回車停止輸入。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/185635.html