-
scanf()函數(Scan Format)
- 函數原型:
int scanf(const char*format,...);
- 函數作用:從標准輸入流stdin(標准輸入設備,一般指向鍵盤)讀取輸入,並根據提供的format來瀏覽輸入;
- 注意點:該函數的返回值是成功讀入的數據項數(int 類型),當遇到了“文件結束”則返回EOF;
- 舉例:
scanf("%d%d", &a,&b);
-
如果a和b都被成功的讀入,那么就會返回2;
-
如果只有a被成功讀入,或者只有b被成功讀入,那么就會返回1;
-
如果a和b都未被成功讀入,那么就會返回0;
-
如果遇到錯誤或者遇到end of file(end of file 是指ctrl+z或者ctrl+d),返回EOF。
-
- 函數原型:
-
printf()函數(Print Format)
-
函數原型:
int printf(const char*format,...);
-
函數作用:函數把輸出寫入到標准輸出流stdout(標准輸出設備,一般為屏幕),並根據提供的format來輸出;
-
注意點:該函數也是有返回值的,返回值是prinf()函數實際輸出的字符個數;
-
舉例:
-
printf("%d",printf("123"));
最終會打印1231,123為printf("123")打印的,1則是printf("123")的返回值;
-
printf("%d",printf("%d",printf("123")));
最終會打印12331,123為最里層 printf("123")打印的結果,第二個3為 printf("123")的返回值,最后面那個1則為 printf("%d",printf("123"))的反回值;
-
printf("%d", printf("123 "));
最終會打印123 4,中間會有一個空格,因為空格也算字符,所以最終返回4,而不是3。
-
-
-
getchar()函數
-
函數原型:
int getchar(void);
-
函數作用:getchar是讀入函數的一種,它從標准輸入流stdin讀取一個字符,相當於getc(stdin);
-
注意點:如果stdin有數據,那么它就可以直接讀取了,第一次調用getchar()時,需要用戶輸入,但是如果你輸了多個字符,下一次的getchar()再執行時就會直接從緩沖區中讀取;
-
舉例:
#include <stdio.h> int main() { int ch; ch = getchar(); putchar(ch); return 0; }
輸入:abc 輸出a;
-
-
putchar()函數
-
函數原型:
int putchar(int c);
-
函數作用:將指定的表達式的值所對應的字符輸出到標准輸出終端上,表達式可以是字符型或整型,它每次只能輸出一個字符。
-
注意點:
- 當c為一個被單引號(英文狀態下)引起來的字符時,輸出該字符;
- 當c為一個介於0~127(ASCII碼的取值范圍)之間的十進制整型數時,它會被視為對應字符的ASCII代碼,輸出該ASCII代碼對應的字符;
- 當c為一個事先用char定義好的字符型變量時,輸出該變量所指向的字符。
- 當輸出正確時,返回輸出字符的ASCII碼
- 當輸出錯誤時,返回EOF文件結束符
-
舉例:
#include <stdio.h> int main( ) { char ch = 'o'; int num = 109; putchar('T'); putchar(ch); putchar(num); return 0; }
輸出:Tom
-
-
gets函數
-
函數原型:
char *gets(char *s);
-
函數作用:從stdin流中讀取字符串,直至接受到換行符或EOF時停止,並將讀取的結果存放在字符數組中,讀取的換行符會被轉換為'\0',由此來結束字符串;
-
注意點:讀入成功時,返回接收讀取結果的字符數組的首地址,讀入發生錯誤或遇到EOF返回NULL;
-
舉例:
#include <stdio.h> #include <stdlib.h> int main( ) { char *str; str = (char *)malloc(20*sizeof(char)); gets(str); puts(str); free(str); return 0; }
輸入:TomHe789 輸出:TomHe789
-
-
puts函數
-
函數原型:
int puts(const char *s);
-
函數作用:該函數用來向標准輸出設備stdout(屏幕)輸出字符串並換行;
-
注意點:
- 該函數只能輸出字符串,不能輸出其他類型數值;
- 執行成功返回非負數,執行失敗返回EOF;
-
舉例:
#include <stdio.h> int main( ) { char *str = "TomHe789"; puts(str); return 0; }
輸出:TomHe789
-