1. c語言中如何用EOF結束gets的輸入(必須要用EOF結束句子的讀入)
因為ascII碼對應的數據是0~127不存在負數、而EFO宏定義為負一。當判斷輸入字元==EOF的時候就自動退出循環
2. C語言如何實現以EOF結尾。就比如,輸入一串整數到一個足夠大的數組里,輸入以EOF結尾。
EOF一般用來判斷文件流是否結束
數組的就不用了吧
3. C語言這題怎麼用EOF結束啊
你的代碼沒處理,不知道你啥問題
EOF結束的話,可以這樣用:
int n;
while(scanf("%d",&n)!=EOF)
{
/*add your code*/
}
你的問題:
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
{
scanf("%d", &a[i][j]);/*取地址*/
}
4. C語言 關於EOF結束的
while (scanf("%d %d",&num[i],&num[j]) != EOF) {
......
}
這樣的辦法就可以
5. 我想請問一下C語言如何用EOF結束一個二維數組的輸入感謝啦
control z
6. 讀取字元串如何藉助EOF結束輸入(C語言問題)
可以通過scanf讀取字元串,然後根據scanf的返回值確認是否讀到EOF。
當輸入正確是,scanf會返回輸入的變數個數,當遇到EOF時,會返回EOF。
於是代碼可以寫作
while(scanf("%s",str) != EOF)//輸入,直到遇到EOF結束。
{
//使用輸入的數據str。
}
7. c語言程序怎麼實現"輸入結束標志為EOF"用scanf。急!
while(scanf("%d",&a)!=EOF)
或者
while(~scanf("%d",&a))
兩個是一樣的,都是以文件尾(EOF)為結束標志
8. c語言新手提問!!!關於如何輸入EOF終止輸入!!
windows:首先在最後一行結束後(此時未換行)輸入ENTER鍵,新起一行,再輸入ctrl+z,再輸入時ENTER鍵即可。
Linux:直接按CTRL+D快捷鍵
示例:
#include<iostream>
using namespce std;
void main()
{
int a;
while(cin >>a)
{
;//循環輸入的代碼塊
}
}
(8)c語言eof結束輸入數組原理擴展閱讀:
在C語言中,或更精確地說成C標准函數庫中表示文件結束符(end of file)。在while循環中以EOF作為文件結束標志,這種以EOF作為文件結束標志的文件,必須是文本文件。在文本文件中,數據都是以字元的ASCII代碼值的形式存放。ASCII代碼值的范圍是0~127,不可能出現-1,因此可以用EOF作為文件結束標志。
9. 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鍵。