C語言輸入輸出
getchar() & putchar() 函數
int getchar(void) 函數從屏幕讀取下一個可用的字符,並把它返回為一個整數。這個函數在同一個時間內只會讀取一個單一的字符。您可以在循環內使用這個方法,以便從屏幕上讀取多個字符。
int putchar(int c) 函數把字符輸出到屏幕上,並返回相同的字符。這個函數在同一個時間內只會輸出一個單一的字符。您可以在循環內使用這個方法,以便在屏幕上輸出多個字符。
請看下面的實例:
實例
#include <stdio.h> int main( ) { int c; printf( "Enter a value :"); c = getchar( ); printf( "\nYou entered: "); putchar( c ); printf( "\n"); return 0; }當上面的代碼被編譯和執行時,它會等待您輸入一些文本,當您輸入一個文本並按下回車鍵時,程序會繼續並只會讀取一個單一的字符,顯示如下:
$./a.out Enter a value :runoob You entered: r
gets() & puts() 函數
char *gets(char *s) 函數從 stdin 讀取一行到 s 所指向的緩沖區,直到一個終止符或 EOF。
int puts(const char *s) 函數把字符串 s 和一個尾隨的換行符寫入到 stdout。
實例
#include <stdio.h> int main( ) { char str[100]; printf( "Enter a value :"); gets( str ); printf( "\nYou entered: "); puts( str ); return 0; }當上面的代碼被編譯和執行時,它會等待您輸入一些文本,當您輸入一個文本並按下回車鍵時,程序會繼續並讀取一整行直到該行結束,顯示如下:
$./a.out Enter a value :runoob You entered: runoob
scanf() 和 printf() 函數
int scanf(const char *format, ...) 函數從標準輸入流 stdin 讀取輸入,並根據提供的 format 來瀏覽輸入。
int printf(const char *format, ...) 函數把輸出寫入到標準輸出流 stdout ,並根據提供的格式產生輸出。
format 可以是一個簡單的常量字符串,但是您可以分別指定 %s、%d、%c、%f 等來輸出或讀取字符串、整數、字符或浮點數。還有許多其他可用的格式選項,可以根據需要使用。如需了解完整的細節,可以查看這些函數的參考手冊。現在讓我們通過下面這個簡單的實例來加深理解:
實例
#include <stdio.h> int main( ) { char str[100]; int i; printf( "Enter a value :"); scanf("%s %d", str, &i); printf( "\nYou entered: %s %d ", str, i); printf("\n"); return 0; }當上面的代碼被編譯和執行時,它會等待您輸入一些文本,當您輸入一個文本並按下回車鍵時,程序會繼續並讀取輸入,顯示如下:
$./a.out Enter a value :runoob 123 You entered: runoob 123
在這裏,應當指出的是,scanf() 期待輸入的格式與您給出的 %s 和 %d 相同,這意味著您必須提供有效的輸入,比如 "string integer",如果您提供的是 "string string" 或 "integer integer",它會被認為是錯誤的輸入。另外,在讀取字符串時,只要遇到一個空格,scanf() 就會停止讀取,所以 "this is test" 對 scanf() 來說是三個字符串。
C語言輸入輸出