getchar

    1熱度

    1回答

    在下面的代碼中出現了一個奇怪的行爲getchar()和scanf: 如果我插入行/*K1*/ ch = getchar();代碼在行/*k*/正常工作。 我的意思是,在/*k1*/行中沒有調用getchar,編譯器不會要求鍵盤上的字符。另一方面,如果包含一個額外的getchar它的程序完美運行。有人能打電話給我嗎? int INcoord(int n, int **Coo){/*retorna q

    3熱度

    1回答

    我寫了一個簡單的,交互式的程序,期望用戶輸入。 在讀取特定輸入之後,它會執行特定操作,但首先會檢查用戶是否通過從流中讀取任何剩餘字符來輸入過多命令。 我的問題是:如果沒有留下流中的字符,它會卡住,直到用戶按下Enter鍵。有沒有辦法來覆蓋這個? 這是檢查遺留的輸入流中字符的功能: int check_end_of_stream(void){ char c; c=getchar(

    0熱度

    3回答

    我自己在練習c編程。我編寫的程序是一個getfloat,它將字符流轉換爲浮點數(從K & R練習5-2)。我使用了書中的代碼片斷,它使用getch和ungetch從緩衝區或輸入中獲取下一個字符。我的代碼存在的問題是,我正在編寫的Visual Studio無法在正確進行計算和轉換後打印出值。我進入該程序,發現我的函數中的變量c在轉換結束時變爲-1,而不是10。這是我的代碼: #include <st

    0熱度

    2回答

    現在我正在學習C編程課程,所以我完全是C的新手。我現在頭痛了,因爲我的代碼不能按我認爲的那樣工作。 這裏是我的代碼,顯示問題: #include <stdio.h> #include <stdlib.h> #include <stdbool.h> #include <ctype.h> #include <string.h> int main() { printf("\n\n

    0熱度

    1回答

    我使用數組來表示一個表,我想使用「getchar」來更新表中的值。 Original table: 0 0 0 0 Input table: 1 0 Output table: 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 struct dimension {// represen

    4熱度

    3回答

    我正在c/C++中實現一個密鑰閱讀器程序。我正在使用Linux。我知道,無緩衝的getchar函數將返回鍵的很少的數據值。對於所有ASCII鍵(a-z,A-Z,1-9,標點符號,輸入,製表符和ESC),將會有一個從getchar()返回的值。對於其他鍵(如箭頭鍵),將會讀取ESC鍵,但是當再次調用getchar()時,它會得到另一個值(A,B,C或D)。 A = 65 B = 66 UP箭頭= 2

    -1熱度

    3回答

    我試圖用一個空白替換多個空格。 #include <stdio.h> #include <stdlib.h> #define MAXLINE 500 main() { char text[MAXLINE]; int i; for(i = 0; (text[i] = getchar()) != EOF && text[i] != 'x'; i++) {

    -2熱度

    1回答

    之間添加新的行字符我正在編寫一個程序,它使用getchar()將字符序列作爲輸入並使用fopen()創建pro.cpp源代碼文件, putc()函數。 當我編譯這個源代碼文件創建的這個程序,它會產生錯誤。 如果我從新行開始int main {},則可以解決此錯誤。所以我需要在#include和int main {}之間輸入新的行字符。 我不知道該怎麼做。 #include<stdio.h> in

    1熱度

    3回答

    我試圖讓用戶輸入一個數字多少次(併爲每個數字創建一個鏈接列表節點)。 但是,我試過清除字符輸入緩衝區的多種方法,但無濟於事。奇怪的是,代碼將執行一次,但不會正確執行第二個。 例如,用下面的代碼,終端讀取: would you like to enter an integer? y Enter an integer: 4 would you like to enter an integer?

    1熱度

    2回答

    所以,我在Visual Studio 2012 Ultimate中使用getchar得到了一些奇怪的結果。這是我可以想出的最簡單的例子,以表明它不是代碼錯誤,並且是其他操作。 #include <cstdio> int main(int argc, char* argv[]) { char c = getchar(); putchar(c); return 0;