這個,簡單說來:
c語言本身沒有直接提供輸入輸出語句,輸入輸出是靠函數提供的:
getchar() //從鍵盤上輸入一個字元常量,此常量就是該函數返回的值;
putchar() //把變數中的一個字元常量輸出;
scanf() //從鍵盤上輸入各類資料,並存放到程式變數中;
printf() //把鍵盤中的各類資料,加以格式控制輸出;
gets() //讀入一行字串常量並放到程式的數組中;
puts() //把陣列變數中的一個字串常量輸出,並且帶有斷行符號'\n';
sscanf() //從一個字串中提取各類資料;
sprintf() //將各類資料寫入字串中;
一、printf()函數 //fprintf,sprintf和printf用法基本一樣,實際上我個人認為:
fprintf(stdout,"" ,&) == printf(" ", &);
printf()函數是格式化輸出函數, 一般用於向標準輸出裝置按規定格式輸出
資訊。在編寫程式時經常會用到此函數。printf()函數的調用格式為:
printf(" <格式化字串>", <參量表>);
其中格式化字串包括兩部分內容: 一部分是正常字元, 這些字元將按原
樣輸出; 另一部分是格式化規定字元, 以"%"開始, 後跟一個或幾個規定字元,
用來確定輸出內容格式。
參量表是需要輸出的一系列參數, 其個數必須與格式化字串所說明的輸出
參數個數一樣多, 各參數之間用","分開, 且順序一一對應, 否則將會出現意想
不到的錯誤。
二、scanf()函數//和printf類似,fscanf,sscanf和scanf用法格式基本一致
scanf()函數是格式化輸入函數, 它從標準輸入裝置(鍵盤) 讀取輸入的資訊。
其調用格式為:
scanf(" <格式化字串>", <地址表>);
格式化字串包括以下三類不同的字元;
1. 格式化說明符: 格式化說明符與printf()函數中的格式說明符基本相同。
2. 空白字元: 空白字元會使scanf()函數在讀操作中略去輸入中的一個或多
個空白字元。
3. 非空白字元: 一個非空白字元會使scanf()函數在讀入時剔除掉與這個非
空白字元相同的字元。
地址表是需要讀入的所有變數的地址, 而不是變數本身。這與printf()函數
完全不同, 要特別注意。各個變數的地址之間同","分開。
三。puts()和gets()函數
1. puts()函數
puts()函數用來向標準輸出裝置(螢幕)寫字串並換行, 其調用格式為:
puts(s);
其中s為字串變數(字串數組名或字串指標)。
puts()函數的作用與語printf("%s\n", s)相同。
2. gets()函數
gets()函數用來從標準輸入裝置(鍵盤)讀取字串直到斷行符號結束, 但斷行符號符
不屬於這個字串。其調用格式為:
gets(s);
其中s為字串變數(字串數組名或字串指標)。
gets(s)函數與scanf("%s", &s)相似, 但不完全相同, 使用scanf("%s", &s)
函數輸入字串時存在一個問題, 就是如果輸入了空格會認為輸入字串結束,
空格後的字元將作為下一個輸入項處理, 但gets() 函數將接收輸入的整個字元
串直到斷行符號為止。
--